ifeq ($(DEBUG_ALL),1)
- DEBUG_SECTIONS:= $(DEBUG_SECTIONS) -DDEBUG_SHADOW_PAGING -DDEBUG_CTRL_REGS -DDEBUG_INTERRUPTS -DDEBUG_KEYBOARD -DDEBUG_PIC -DDEBUG_PIT -DDEBUG_NVRAM -DDEBUG_EMULATOR -DDEBUG_XED -DDEBUG_HALT -DDEBUG_DEV_MGR
-# -DDEBUG_IO -DDEBUG_GENERIC -DDEBUG_RAMDISK
+ DEBUG_SECTIONS:= $(DEBUG_SECTIONS) -DDEBUG_SHADOW_PAGING -DDEBUG_NESTED_PAGING -DDEBUG_CTRL_REGS -DDEBUG_INTERRUPTS -DDEBUG_KEYBOARD -DDEBUG_PIC -DDEBUG_PIT -DDEBUG_NVRAM -DDEBUG_EMULATOR -DDEBUG_XED -DDEBUG_HALT -DDEBUG_DEV_MGR
+# -DDEBUG_IO -DDEBUG_GENERIC -DDEBUG_IDE
endif
ifeq ($(DEBUG_SHADOW_PAGING),0)
DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_SHADOW_PAGING
endif
+
+endif
+ifeq ($(DEBUG_NESTED_PAGING),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_NESTED_PAGING
+else
+ifeq ($(DEBUG_NESTED_PAGING),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_NESTED_PAGING
+endif
endif
ifeq ($(DEBUG_CTRL_REGS),1)
endif
endif
-ifeq ($(DEBUG_RAMDISK),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_RAMDISK
+ifeq ($(DEBUG_IDE),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_IDE
else
-ifeq ($(DEBUG_RAMDISK),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_RAMDISK
-endif
-endif
-
-ifeq ($(TRACE_RAMDISK),1)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DTRACE_RAMDISK
-else
-ifeq ($(TRACE_RAMDSK),0)
-DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UTRACE_RAMDISK
+ifeq ($(DEBUG_IDE),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_IDE
endif
endif
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_PCI),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_PCI
+else
+ifeq ($(DEBUG_PCI),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_PCI
+endif
+endif
+
ifeq ($(DEBUG_DEV_MGR),1)
DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_DEV_MGR
else
endif
endif
+ifeq ($(DEBUG_NE2K),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_NE2K
+else
+ifeq ($(DEBUG_NE2K),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_NE2K
+endif
+endif
+
#DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DTEST_NE2K
ifeq ($(DEBUG),1)
INSTRUMENT_OPT :=
endif
+CFLAGS = -fno-stack-protector
# ----------------------------------------------------------------------
palacios/vmm_debug.o \
palacios/svm_io.o \
palacios/vmm_intr.o \
+ palacios/vmm_excp.o \
palacios/vmm_time.o \
palacios/vmm_shadow_paging.o \
palacios/vm_guest_mem.o \
- palacios/vm_dev.o \
palacios/vmm_dev_mgr.o \
palacios/vmm_decoder.o \
palacios/svm_halt.o \
palacios/vmm_hashtable.o \
palacios/vmm_string.o \
palacios/vmm_emulator.o \
+ palacios/vmm_sprintf.o \
palacios/vmm_queue.o \
palacios/vmm_host_events.o \
palacios/svm_lowlevel.o \
palacios/vmm_profiler.o \
palacios/vmm_direct_paging.o \
palacios/vmm_ringbuffer.o \
+ palacios/vmm_hypercall.o \
+ palacios/vmm_lock.o \
+ palacios/vmx.o \
+ palacios/vmcs.o \
+ palacios/vmx_handler.o \
+ palacios/vmx_lowlevel.o \
+ palacios/vmxassist.o \
+ palacios/vmx_io.o \
+ palacios/vmx_msr.o \
$(OBJ_FILES)
-# vmx.c vmcs_gen.c vmcs.c
# Extra C flags for the VMM objects
$(VMM_OBJS) :: EXTRA_CFLAGS = \
- $(JRLDEBUG) \
+ $(JRLDEBUG) $(CFLAGS) -DVMXASSIST_PATH="\"../build/vmxassist\"" \
xed/v3-udiv-compat.o \
$(XED_OBJS) :: EXTRA_CFLAGS = \
- $(JRLDEBUG) \
+ $(JRLDEBUG) $(CFLAGS)\
DEVICES_OBJS := \
devices/generic.o \
devices/8259a.o \
devices/8254.o \
devices/serial.o \
- devices/ramdisk.o \
- devices/cdrom.o \
devices/bochs_debug.o \
devices/os_debug.o \
devices/apic.o \
+ devices/io_apic.o \
+ devices/pci.o \
+ devices/para_net.o \
+ devices/ide.o \
+ devices/ram_cd.o \
+ devices/ram_hd.o \
+ devices/i440fx.o \
+ devices/piix3.o \
+ devices/net_cd.o \
+ devices/net_hd.o \
+ devices/lnx_virtio_blk.o \
+ devices/lnx_virtio_balloon.o \
+ devices/sym_swap.o \
+
+# devices/ne2k.o \
+# devices/cdrom.o \
+# devices/ramdisk.o \
+# devices/vnic.o \
$(DEVICES_OBJS) :: EXTRA_CFLAGS = \
- $(JRLDEBUG) \
+ $(JRLDEBUG) $(CFLAGS)\
endif
+ifeq ($(CRAY_XT),1)
+EXTRA_C_OPTS := $(EXTRA_C_OPTS) -DCRAY_XT
+endif
+
+
# Uncomment if cross compiling
#TARGET_CC_PREFIX := $(PROJECT_ROOT)/../devtools/i386/bin/i386-elf-
#TARGET_CC_PREFIX := i386-elf-
-I$(PROJECT_ROOT)/include \
-Werror \
-fPIC \
+ -mno-red-zone \
-Wp,-MD,$(@D)/.$(@F).d \
-Wp,-MT,$@ \
vgabios_link:
ln -s -f ../src/vmboot/vgabios/VGABIOS-lgpl-latest.bin vgabios
+vmxassist_link:
+ ln -s -f ../src/vmboot/vmxassist/vmxassist.bin vmxassist
-force_rombios: rombios_link
- (cd ../src/vmboot/rombios; make clean; make)
-
-force_vgabios: vgabios_link
- (cd ../src/vmboot/vgabios; make clean; make)
-force_payload: force_rombios force_vgabios
+force_payload: rombios_link vgabios_link vmxassist_link
../scripts/make_payload.pl payload_layout.txt vm_kernel
inter1: force_payload
for d in palacios devices xed; do \
(cd $$d && rm -f * .*.d); \
done
+ rm -f libv3vee.a
# Include all of the generated dependency files if they exist