mainmenu "Palacios VMM Configuration" menu "Target Configuration" choice prompt "Target Host OS" default KITTEN config KITTEN bool "Kitten OS" select BUILT_IN_STDLIB 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 config LINUX bool "Linux 2.6" select BUILT_IN_STDLIB select BUILT_IN_ATOI select FILE help This enables the necessary options to compile Palacios with Linux 2.6 Currently, this is in development, and only 2.6.32 is verified to work config MINIX bool "MINIX 3" help This enables the necesary options to compile Palacios with Kitten config OTHER_OS bool "Other OS" help Choose this to compile Palacios for a Generic Host OS (Formerly GeekOS) endchoice config CRAY_XT bool "Red Storm (Cray XT3/XT4)" help Support for Cray XT3 and XT4 systems. config SVM bool "AMD SVM Support" default y help Compile with support for AMD SVM config VMX bool "Intel VMX Support" default y help Compile with support for Intel VMX config DEBUG_INFO bool "Compile with Debug Information" default n help Compiles the Palacios library with debugging symbols 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" default n help Select this if your OS supports allocating memory pages using an alignment. This is required if you want Palacios to run with large page table pages. config MAX_CPUS int "Maximum number of cpus" range 1 255 default "16" help Specifies the maximum number of hardware CPUs supported by the OS For uniprocessor environments, set this to 1 config FILE bool "Host Support for file operations" default n help Select this if your host OS supports file operatoins and you want Palacios to be able to use them. config CONSOLE bool "Host Support for VM console" default n help Select this if you want to forward a guest console interface to some host OS service config SOCKET bool "Host support for Network Sockets" default y help Select this if you host OS implements a socket API that is available to Palacios. This is required to support the internal networking features of Palacios. config PACKET bool "Host support for Raw Packet Transmision" depends on EXPERIMENTAL default n help Select this if you host OS implements a raw packet network API that is available to Palacios. This is required to support the internal networking features of Palacios. endmenu config TELEMETRY bool "Enable VMM telemetry support" default n help Enable the telemetry framework in Palacios ----- This is a framwork that allows components of palacios to record information that is periodically reported to the log output. Telemetry is automatically collected for vmexits. Subsystem telemetry is configured separately config SHADOW_PAGING_TELEMETRY bool "Enable Shadow Paging Telemetry" default y depends on TELEMETRY help Enable telemetry information for shadow paging config EXPERIMENTAL bool "Enable Experimental options" default n help This allows the selection of experimental features. This includes incomplete or unreviewed code. Only enable this feature if you are working on the features in question. IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. Any code that violates this will be immediately deleted without warning. -- 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 DEBUG_VNET depends on EXPERIMENTAL && VNET bool "Enable Vnet Debug in Palacios" default n help Enable the Vnet debug in Palacios config LINUX_VIRTIO_VNET bool "Enable Virtio VNET interface" default n depends on PCI && EXPERIMENTAL && VNET help Enable the Virtio VNET interface config DEBUG_LINUX_VIRTIO_VNET bool "Virtio VNET Interface Debugging" default n depends on LINUX_VIRTIO_VNET && DEBUG_ON help Enable debugging for the VNET Virtio interface endmenu source "Kconfig.stdlibs" menu "Virtual Paging" config SHADOW_PAGING bool "Enable shadow paging" default y help Enables shadow paging for virtual machines config SHADOW_PAGING_VTLB bool "Virtual TLB" default y depends on SHADOW_PAGING help Enables Virtual TLB implemenation for shadow paging config DEBUG_SHDW_PG_VTLB bool "Enable VTLB debugging" default n depends on SHADOW_PAGING_VTLB help Enables debugging messages for VTLB implementation config SHADOW_PAGING_CACHE1 bool "Shadow Page Cache (1)" default y depends on SHADOW_PAGING help Enables caching implemenation for shadow paging endmenu menu "Time Management" config TIME_VIRTUALIZE_TSC bool "Virtualize guest TSC" default n 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 bool "Enable Symbiotic Functionality" default n help Enable Symbiotic components of the VMM. This includes the SymSpy interface. config SYMCALL bool "Symbiotic upcalls" default n depends on SYMBIOTIC && EXPERIMENTAL help Enables the Symbiotic upcall interface config SWAPBYPASS bool "SwapBypass" default n depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL help This enables the SwapBypass architecture config SWAPBYPASS_TELEMETRY bool "Enable SwapBypass Telemetry" default n depends on TELEMETRY && SWAPBYPASS help Enable the telemetry information for the SwapBypass subsystem menuconfig SYMMOD bool "Symbiotic Modules" default n depends on EXPERIMENTAL # depends on SYMBIOTIC help Enable Symbiotic module loading endmenu menu "Debug configuration" config CONFIG_DEBUG_INFO bool "Compile with Debug information" default n help This adds the -g flag to the compilation flags ## Is unwind information useful config DEBUG_ON bool "Enable Debugging" default y help This turns on debugging support config DEBUG_SVM bool "AMD SVM" default n depends on DEBUG_ON help This turns on debugging for the AMD SVM-specific code config DEBUG_VMX bool "Intel VT" default n depends on DEBUG_ON help This turns on debugging for the Intel VT-specific code config DEBUG_SHADOW_PAGING bool "Shadow paging" default n depends on DEBUG_ON help This turns on debugging for the shadow paging system config DEBUG_NESTED_PAGING bool "Nested paging" default n depends on DEBUG_ON help This turns on debugging for the nested paging system config DEBUG_CTRL_REGS bool "Control registers" default n depends on DEBUG_ON help This turns on debugging for the control register handlers config DEBUG_INTERRUPTS bool "Interrupts" default n depends on DEBUG_ON help This turns on debugging for the interrupt system config DEBUG_TIME bool "Timing" default n depends on DEBUG_ON help This turns on debugging of system time virtualization config DEBUG_IO bool "IO" default n depends on DEBUG_ON help This turns on debugging for the IO handlers config DEBUG_EMULATOR bool "Instruction Emulator" default n depends on DEBUG_ON help This turns on debugging for the Instruction Emulator config DEBUG_XED bool "XED" default n depends on DEBUG_ON help This turns on debugging for the Xed Decoder config DEBUG_HALT bool "Halt" default n depends on DEBUG_ON help This turns on debugging for the halt instruction handler config DEBUG_DEV_MGR bool "Device Manager" default n depends on DEBUG_ON help This turns on debugging for the device manager endmenu menu "BIOS Selection" config ROMBIOS_PATH string "Path to pre-built ROMBIOS binary" 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" default "./bios/vgabios/VGABIOS-lgpl-latest.bin" help This is the vgabios that will be used for the guests config VMXASSIST_PATH string "Path to pre-built VMXASSIST binary" depends on VMX default "./bios/vmxassist/vmxassist.bin" help This is vmxassist image to boot real mode guests on Intel VMX Platforms endmenu source "palacios/src/devices/Kconfig"