endchoice
menu "Supported host OS features"
-
+
+config MEM_BLOCK_SIZE
+ int "Allocation size for underlying VM memory"
+ default 134217728
+ help
+ This is the default size in bytes of the underlying memory allocations used for the base memory regions.
+ A good default value is 128MB (134217728 or 0x8000000 bytes). Note that the host interface must be able
+ to provide contiguous memory of at least this size in order for VMs to typically work. This
+ value can be overriden via a load-time option, provided the host supports this.
config ALIGNED_PG_ALLOC
bool "Host support for aligned page allocations"
help
Enable telemetry information for shadow paging
+config PMU_TELEMETRY
+ bool "Enable PMU telemetry"
+ default n
+ depends on TELEMETRY && HOST_PMU
+ help
+ Enable telemetry information for a range of PMU counters
+ This causes the currently configured PMU counts to be printed
+config PWRSTAT_TELEMETRY
+ bool "Enable power statistics telemetry"
+ default n
+ depends on TELEMETRY && HOST_PWRSTAT
+ help
+ Enable telemetry information for power/energy counters
+
config EXPERIMENTAL
bool "Enable Experimental options"
bool "Enable Checkpointing"
default n
help
- Temporary option to enable experimental checkpoint code
+ Enable checkpointing functionality (save/load VMs)
+config LIVE_MIGRATION
+ bool "Enable Live Migration"
+ depends on CHECKPOINT
+ default n
+ help
+ Enable live migration functionality (send/receive VMs)
+
+config DEBUG_CHECKPOINT
+ bool "Enable Checkpointing and Live Migration Debugging Output"
+ depends on CHECKPOINT
+ default n
+ help
+ Generate output from the debugging statements in checkpointing and live migration
endmenu
endmenu
-
-
-menu "Time Management"
-config TIME_DILATION
- bool "Control Guest/Host Time Offseting"
- default n
- depends on EXPERIMENTAL
- help
- Controls the relative speeds of the guest and host processor
- to allow the VM to provide the illusion of the guest seeing time
- pass at a different rate than the host system does.
-
-config TIME_HIDE_VM_COST
- bool "Hide VMM Run Cost"
- default n
- depends on EXPERIMENTAL
- help
- Offset guest time from host time sufficiently to hide the cost of
- running in the virtual machine. This can aid the consistency of
- time between multiple timers, but can cause the guest to run
- a good bit slower than the host in VM-intensive parts of the code.
-
-config TIME_VIRTUALIZE_TSC
- bool "Fully virtualize guest TSC"
- default n
- depends on EXPERIMENTAL
- help
- Virtualize the processor time stamp counter in the guest,
- generally increasing consistency between various time sources
- but also potentially making guest time run slower than real time.
-
-endmenu
-
-
-
menu "Symbiotic Functions"
config SYMBIOTIC
help
This turns on debugging of system time virtualization
+config DEBUG_SCHEDULER
+ bool "Scheduler"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for scheduler
+
+config DEBUG_CPU_MAPPER
+ bool "CPU Mapper"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for CPU Mapper
+
config DEBUG_IO
bool "IO"
default n
help
This turns on debugging for the halt instruction handler
+config DEBUG_MWAIT
+ bool "MWAIT/MONITOR"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the mwait and monitor instruction handlers
+
config DEBUG_DEV_MGR
bool "Device Manager"
default n
help
This turns on debugging for memory translations and lookups
+config DEBUG_LOCKS
+ bool "Lock debugging (if host supports it)"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on lock debugging for locks in Palacios and in its host-specifc glue code. This requires host support.
+
+config DEBUG_MEM_ALLOC
+ bool "Memory allocation debugging (if host supports it)"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on memory allocation debugging in Palacios, using the mechanisms provided by the host
+
+
endmenu
menu "BIOS Selection"
-config ROMBIOS_PATH
- string "Path to pre-built ROMBIOS binary"
+choice
+ prompt "Boot Code Selection"
+ default SEABIOS
+ help
+ Select which BIOSes to map into the default PC Class Hardware Configuration
+
+config SEABIOS
+ bool "Use the SEABIOS and SEABIOS-VGA Boot Code"
+ help
+ Use the SEABIOS and SEABIOS-VGA Boot code
+
+
+config BOCHSBIOS
+ bool "Use the BOCHS BIOS and BOCHS BIOS-compatible VGA Boot Code"
+ help
+ Use the BOCHS BIOS and BOCHS-BIOS-compatible VGA Boot Code
+
+
+config OTHERBIOS
+ bool "Use a user-specified BIOS"
+ help
+ Use a user-specified BIOS
+
+
+endchoice
+
+
+config SEABIOS_PATH
+ string "Path to pre-built SEABIOS binary"
+ depends on SEABIOS
+ default "./bios/seabios/out/bios.bin"
+ help
+ Path to the SEABIOS binary to use
+
+config SEABIOSVGA_PATH
+ string "Path to pre-built SEABIOS-VGA binary"
+ depends on SEABIOS
+ default "./bios/seabios-vga/VGABIOS-lgpl-latest.bin"
+ help
+ This is the SEABIOS-compatible vgabios that will be used for the guest
+
+config BOCHSBIOS_PATH
+ string "Path to pre-built BOCHS BIOS binary"
+ depends on BOCHSBIOS
default "./bios/rombios/BIOS-bochs-latest"
help
This is the rombios that will be used for the guests
-config VGABIOS_PATH
- string "Path to pre-built VGABIOS binary"
+config BOCHSBIOSVGA_PATH
+ string "Path to pre-built BOCHS-compatible VGABIOS binary"
+ depends on BOCHSBIOS
default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
help
This is the vgabios that will be used for the guests
+config OTHERBIOS_PATH
+ string "Path to user-specified Boot Code"
+ depends on OTHERBIOS
+ help
+ This is a completely user-determined blob that will be mapped into the guest
+ No VGA BIOS will be mapped!
+
+config BIOS_START
+ hex "Starting address (linear address) of BIOS"
+ range 0xe0000 0xe0000 if SEABIOS
+ range 0xf0000 0xf0000 if BOCHSBIOS
+ help
+ This is the starting address (linear address) of the BIOS code
+
+
+
config VMXASSIST_PATH
string "Path to pre-built VMXASSIST binary"
depends on VMX