endif
endif
+ifeq ($(DEBUG_DEV_MGR),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_DEV_MGR=1
+else
+ifeq ($(DEBUG_DEV_MGR),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) DEBUG_DEV_MGR=0
+endif
+endif
+
# ----------------------------------------------------------------------
# Targets -
(cd $(PALACIOS_BUILD_DIR) && make $(DEBUG_SECTIONS) world)
+palacios-lean:
+ (cd $(PALACIOS_BUILD_DIR) && make LEAN_AND_MEAN=1 world)
+
+
geekos:
cp $(PALACIOS_BUILD_DIR)/libv3vee.a $(GEEKOS_BUILD_DIR)/palacios/
cp $(PALACIOS_BUILD_DIR)/../lib/xed/libxed.a $(GEEKOS_BUILD_DIR)/palacios/
world: palacios-full geekos-full
+lean-and-mean: palacios-lean geekos-full
+
# make ready to boot over PXE
# DEBUG=1 means VMM_DEBUG, VMM_INFO, and VMM_TRACE are enabled
# as are SERIAL_PRINT_DEBUG
#
+
+ifeq ($(LEAN_AND_MEAN),1)
+DEBUG=0
+DEBUG_SECTIONS=
+else
DEBUG=1
DEBUG_SECTIONS=
+endif
+
ifeq ($(DEBUG_ALL),1)
- DEBUG_SECTIONS:= $(DEBUG_SECTIONS) -DDEBUG_SHADOW_PAGING -DDEBUG_CTRL_REGS -DDEBUG_INTERRUPTS -DDEBUG_IO -DDEBUG_KEYBOARD -DDEBUG_PIC -DDEBUG_PIT -DDEBUG_NVRAM -DDEBUG_EMULATOR -DDEBUG_GENERIC -DDEBUG_RAMDISK
+ DEBUG_SECTIONS:= $(DEBUG_SECTIONS) -DDEBUG_SHADOW_PAGING -DDEBUG_CTRL_REGS -DDEBUG_INTERRUPTS -DDEBUG_IO -DDEBUG_KEYBOARD -DDEBUG_PIC -DDEBUG_PIT -DDEBUG_NVRAM -DDEBUG_EMULATOR -DDEBUG_GENERIC -DDEBUG_RAMDISK -DDEBUG_XED -DDEBUG_HALT -DDEBUG_DEV_MGR
endif
ifeq ($(DEBUG_SHADOW_PAGING),1)
endif
endif
+ifeq ($(DEBUG_DEV_MGR),1)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DDEBUG_DEV_MGR
+else
+ifeq ($(DEBUG_DEV_MGR),0)
+DEBUG_SECTIONS := $(DEBUG_SECTIONS) -UDEBUG_DEV_MGR
+endif
+endif
#DEBUG_SECTIONS := $(DEBUG_SECTIONS) -DTEST_NE2K
ifeq ($(DEBUG),1)
- JRLDEBUG= -DSERIAL_PRINT_DEBUG=1 -DSERIAL_PRINT_DEBUG_LEVEL=10 -DSERIAL_PRINT=1 -DVMM_DEBUG=1 -DVMM_INFO=1 -DVMM_TRACE=1 $(DEBUG_SECTIONS)
-
+ JRLDEBUG= -DVMM_DEBUG -DVMM_INFO -DVMM_TRACE $(DEBUG_SECTIONS)
else
- JRLDEBUG= -DSERIAL_PRINT_DEBUG=0 -DSERIAL_PRINT_DEBUG_LEVEL=999999 -DSERIAL_PRINT=0 -DVMM_DEBUG=0 -DVMM_INFO=0 -DVMM_TRACE=0
+
endif
/* utility definitions */
-#if VMM_DEBUG
+#ifdef VMM_DEBUG
#define PrintDebug(fmt, args...) \
do { \
extern struct vmm_os_hooks * os_hooks; \
-#if VMM_INFO
+#ifdef VMM_INFO
#define PrintInfo(fmt, args...) \
do { \
extern struct vmm_os_hooks * os_hooks; \
#endif
-#if VMM_TRACE
+#ifdef VMM_TRACE
#define PrintTrace(fmt, args...) \
do { \
extern struct vmm_os_hooks * os_hooks; \
v3_raise_irq(dev->vm, channel->irq);
} else {
- PrintError("\t\tRaising irq but irq is disabled\n");
+ PrintDebug("\t\tRaising irq but irq is disabled\n");
}
return;
break;
case VMEXIT_HLT: {
+#ifdef DEBUG_HALT
PrintDebug("Guest halted\n");
+#endif
if (handle_svm_halt(info) == -1) {
return -1;
}
break;
case VMEXIT_PAUSE: {
- PrintDebug("Guest paused\n");
+ //PrintDebug("Guest paused\n");
if (handle_svm_pause(info) == -1) {
return -1;
}
#include <palacios/vmm_decoder.h>
-
-#ifndef NULL
-#define NULL 0
+#ifndef DEBUG_DEV_MGR
+#undef PrintDebug
+#define PrintDebug(fmt, args...)
#endif
+
+
int dev_mgr_init(struct guest_info * info) {
struct vmm_dev_mgr * mgr = &(info->dev_mgr);
INIT_LIST_HEAD(&(mgr->dev_list));
+#ifdef DEBUG_DEV_MGR
void PrintDebugDevMgr(struct guest_info * info) {
struct vmm_dev_mgr * mgr = &(info->dev_mgr);
return;
}
+
+#else
+void PrintDebugDevMgr(struct guest_info * info) {}
+void PrintDebugDev(struct vm_device * dev) {}
+void PrintDebugDevMgrIO(struct vmm_dev_mgr * mgr) {}
+void PrintDebugDevIO(struct vm_device * dev) {}
+#endif