# Northwestern University
# (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
# (c) 2008, Peter Dinda <pdinda@northwestern.edu>
-# (c) 2008, Lei Xia <xiaxlei@gmail.com>
+# (c) 2008, Lei Xia <lxia@northwestern.edu>
# (c) 2008, The V3VEE Project <http://www.v3vee.org>
#
# Based on GeekOS Makefile:
endif
endif
+ifeq ($(DEBUG_APIC),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_APIC
+else
+ifeq ($(DEBUG_APIC),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_APIC
+endif
+endif
+
ifeq ($(DEBUG_DEV_MGR),1)
DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_DEV_MGR
else
+ifeq ($(INSTRUMENT_VMM),1)
+ EXTRA_C_OPTS:= -DINSTRUMENT_VMM
+ INSTRUMENT_OPT := -finstrument-functions
+ OBJ_FILES := palacios/vmm_instrument.o
+else
+ INSTRUMENT_OPT :=
+endif
+
+
# ----------------------------------------------------------------------
# Configuration -
palacios/svm_msr.o \
palacios/vmm_socket.o \
palacios/vmm_xed.o \
+ palacios/vmm_rbtree.o \
+ palacios/vmm_profiler.o \
+ palacios/vmm_direct_paging.o \
+ palacios/vmm_ringbuffer.o \
+ palacios/vmm_hypercall.o \
+ $(OBJ_FILES)
# vmx.c vmcs_gen.c vmcs.c
devices/ramdisk.o \
devices/cdrom.o \
devices/bochs_debug.o \
+ devices/os_debug.o \
+ devices/apic.o \
+ devices/io_apic.o \
+ devices/vnic.o \
+ devices/vpci.o \
$(DEVICES_OBJS) :: EXTRA_CFLAGS = \
$(JRLDEBUG) \
#-fvisibility=hidden
-
# Flags passed to objcopy program (strip unnecessary sections from kernel.exe)
OBJCOPY_FLAGS := -R .dynamic -R .note -R .comment
-c \
$< \
-o $@ \
+ $(INSTRUMENT_OPT) \
)
AS_COMPILE = \
-c \
$< \
-o $@ \
+ $(INSTRUMENT_OPT) \
)