select BUILT_IN_STRCASECMP
select BUILT_IN_ATOI
select ALIGNED_PG_ALLOC
- select MULTITHREAD_OS
help
This enables the necesary options to compile Palacios with Kitten
Compile with support for Intel VMX
+config FRAME_POINTER
+ bool "Compile with Frame pointers"
+ default n
+ help
+ Compiles the Palacios library with Frame pointers
+
config DEBUG_INFO
bool "Compile with Debug Information"
default n
help
This selects the internal V3Vee x86 decoder
+config QUIX86
+ bool "QUIX86 decoder"
+ help
+ This selects the QUIX86 decoder library
+
+config QUIX86_DEBUG
+ bool "QUIX86 decoder debug version"
+ help
+ This selects the QUIX86 decoder library compiled w/o optimization
+ and with debug info
endchoice
menu "Supported host OS features"
-config MULTITHREAD_OS
- bool "Host support for multiple threads"
- default y
- help
- Select this if your OS supports multiple threads of execution. This will enable features in Palacios
- to require the creation of additional execution threads.
-
config ALIGNED_PG_ALLOC
bool "Host support for aligned page allocations"
The purpose of this option is to allow features under development to be committed to the mainline
to more easily track changes and provide access to multiple developers
-config VNET
- depends on EXPERIMENTAL
- bool "Enable Vnet in Palacios"
- default n
- help
- Enable the Vnet in Palacios
-
-
-config INSPECTOR
- bool "Enable VM inspection"
- depends on EXPERIMENTAL
+config CHECKPOINT
+ bool "Enable Checkpointing"
default n
help
- Enable inspection framework for vm internal state
+ Enable checkpointing functionality (save/load VMs)
-config SW_INTERRUPTS
- bool "Enable interception and hooking of software interrupts"
- depends on EXPERIMENTAL
- default n
- help
- This feature will cause the VMM to intercept the execution
- of software interrupts (i.e. the INTn instruction) and enable
- any INT vector to be hooked
-
-config SWINTR_PASSTHROUGH
- bool "Hook all unhandled sofware interrupts for passthrough"
- depends on SW_INTERRUPTS
- default n
- help
- If enabled, this will cause all software interrupts
- (INT instruction vectors) to be hooked for passthrough.
- May reduce performance but useful for debugging.
-
-config SYSCALL_HIJACK
- bool "Enable System Call Hijacking"
- depends on SW_INTERRUPTS
- default n
- help
- Enable the VMM to hijack system calls executed by the guest.
- If enabled, the VMM will hook execution of INT 80
- (support for Fast-System Calls coming soon)
+config LIVE_MIGRATION
+ bool "Enable Live Migration"
+ depends on CHECKPOINT
+ default n
+ help
+ Enable live migration functionality (send/receive VMs)
-config SYSCALL_PASSTHROUGH
- bool "Hook all unhandled system calls for passthrough"
- depends on SYSCALL_HIJACK
- default n
- help
- If enabled, this option will cause all system calls
- that are not explicitly hooked to be hooked for
- passthrough. This is useful for debugging.
+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
-config HIJACK_SYSCALL_MSR
- bool "Intercept Syscall-related MSR reads & writes"
- depends on SYSCALL_HIJACK
- default n
- help
- Allow the VMM to intercept reads and writes to MSRs
- related to SYSCALL and SYSENTER instructions. Specifically,
- it will intercept R/W to STAR, CSTAR, and LSTAR.
endmenu
endmenu
-
-
-menu "Time Management"
-config VIRTUALIZE_TIME
- bool "Enable Time virtualization"
- default n
- help
- Enables the timer virtualization extensions
-
-config TIME_HIDE_VM_COST
- bool "Hide VMM Run Cost"
- default n
- depends on VIRTUALIZE_TIME
- 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 VIRTUALIZE_TIME
- 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
endmenu
+menu "VNET"
+config VNET
+ bool "Enable Vnet in Palacios"
+ default n
+ help
+ Enable the Vnet in Palacios
-menu "Debug configuration"
+config DEBUG_VNET
+ depends on VNET
+ bool "Enable Vnet Debug in Palacios"
+ default n
+ help
+ Enable the Vnet debug in Palacios
-config CONFIG_DEBUG_INFO
- bool "Compile with Debug information"
- default n
- help
- This adds the -g flag to the compilation flags
+endmenu
+
+source "palacios/src/gears/Kconfig"
+
+menu "Debug configuration"
## Is unwind information useful
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_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 the device manager
-config DEBUG_VNET
- depends on EXPERIMENTAL && VNET
- bool "Enable Vnet Debug in Palacios"
- default n
- help
- Enable the Vnet debug in Palacios
-
-config DEBUG_SYSCALL_HIJACK
- bool "Enable Syscall Hijack Debug in Palacios"
- default n
- depends on DEBUG_ON && SYSCALL_HIJACK
- help
- Enable Debugging printouts for syscall hijacking
- code in Palacios
-
+config DEBUG_MEM_ERRORS
+ bool "Verbose memory errors"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for memory translations and lookups
endmenu