Added rombios and vgabios to kitten kernel if CONFIG_V3VEE is defined.
Link in libv3vee, xed and xed32e if CONFIG_V3VEE is defined.
libs-y2 := $(patsubst %/, %/built-in.o, $(libs-y))
libs-y := $(libs-y1) $(libs-y2)
+libs-$(CONFIG_V3VEE) += ../palacios/build/libv3vee.a
+libs-$(CONFIG_V3VEE) += ../palacios/lib/xed/libxed32e.a
+libs-$(CONFIG_V3VEE) += ../palacios/lib/xed/libxed.a
+
# Build vmlwk
# ---------------------------------------------------------------------------
# vmlwk is build from the objects selected by $(vmlwk-init) and
endchoice
+config V3VEE
+ bool "V3Vee abstraction layer"
+ default "n"
+ help
+ V3Vee guest OS instead of ELF image
#
# Define implied options from the CPU selection
# Physical address where the kernel is loaded
#
config PHYSICAL_START
- hex
+ hex "Physical address for kernel load"
default "0x200000"
-endmenu
config VGA_CONSOLE
- bool
+ bool "VGA console"
default "y" if PC
config SERIAL_CONSOLE
- bool
+ bool "Serial console support"
default "y" if PC
config RCAL0_CONSOLE
- bool
+ bool "Cray XT3 L0 console support"
default "y" if CRAY_XT
default "n"
+
+
+endmenu
+
source "arch/x86_64/Kconfig.debug"
task.o sched.o
obj-$(CONFIG_CRAY_XT) += rca/
+obj-$(CONFIG_V3VEE) += bios.o
+
+
--- /dev/null
+/*
+ * ROM Bios images for V3Vee emulator
+ */
+
+.data
+.globl rombios_start
+rombios_start:
+.incbin "../palacios/build/rombios"
+.globl rombios_end
+rombios_end:
+
+.globl vgabios_start
+vgabios_start:
+.incbin "../palacios/build/vgabios"
+.globl vgabios_end
+vgabios_end:
panic("Failed to boot CPU %d.\n", cpu);
}
+#ifdef CONFIG_V3VEE
+ /*
+ * Start up the V3Vee subsystem
+ */
+ Init_V3( 0, 0 );
+#else
/*
* Start up user-space...
*/
printk(KERN_INFO "Loading initial user-level task (init_task)...\n");
if ((status = create_init_task()) != 0)
panic("Failed to create init_task (status=%d).", status);
+#endif
schedule(); /* This should not return */
BUG();