menu "Target Configuration"
+choice
+ prompt "Target Host OS"
+ default KITTEN
+
config KITTEN
- bool "Set defaults needed for the Kitten OS"
- default y
+ bool "Kitten OS"
+ select BUILT_IN_STDLIB
+ select BUILT_IN_STRCASECMP
+ select BUILT_IN_ATOI
help
This enables the necesary options to compile Palacios with Kitten
+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
+
+endchoice
config CRAY_XT
bool "Red Storm (Cray XT3/XT4)"
For uniprocessor environments, set this to 1
+config CONSOLE
+ bool "Include Console Support"
+ default n
+ help
+ Enable console support in Palacios
+
+
+
+
config SOCKET
bool "Include Network Socket Support"
default y
help
Enable telemetry information for shadow paging
-config SYMBIOTIC_SWAP_TELEMETRY
- bool "Enable Symbiotic Swap Telemetry"
- default n
- depends on TELEMETRY && SYMBIOTIC_SWAP
- help
- Enable the telemetry information for the symbiotic swap subsystem
-
-
-config PASSTHROUGH_VIDEO
- bool "Enable Passthrough Video"
- default y
- help
- Configures Palacios to map a guest's framebuffer directly
- to the hardware framebuffer
config INSTRUMENT_VMM
bool "Enable VMM instrumentation"
help
Enable the Vnet in Palacios
-config BUILT_IN_STDLIB
- bool "Enable Built in versions of stdlib functions"
- default y if KITTEN
- help
- Not all host OSes provide link targets for stdlib functions
- Palacios provides internal implementations of these functions, that you can select from this list
-
-config BUILT_IN_MEMSET
- bool "memset()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of memset
-
-
-config BUILT_IN_MEMCPY
- bool "memcpy()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of memcpy
-
-config BUILT_IN_MEMMOVE
- bool "memmove()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of memmove
-
-config BUILT_IN_MEMCMP
- bool "memcmp()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of memcmp
-
-config BUILT_IN_STRLEN
- bool "strlen()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strlen
+config DEBUG_VNET
+ depends on EXPERIMENTAL && VNET
+ bool "Enable Vnet Debug in Palacios"
+ default n
+ help
+ Enable the Vnet debug in Palacios
-config BUILT_IN_STRNLEN
- bool "strnlen()"
+config VNET_PROFILE
+ depends on EXPERIMENTAL && VNET
+ bool "Enable Vnet Profiling in Palacios"
default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strnlen
+ help
+ Enable the Vnet performance profiling 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 BUILT_IN_STRCMP
- bool "strcmp()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strcmp
+config DEBUG_LINUX_VIRTIO_VNET
+ bool "VNET Virtio Device Debugging"
+ default n
+ depends on LINUX_VIRTIO_VNET && DEBUG_ON
+ help
+ Enable debugging for the VNET Virtio Device
+endmenu
-config BUILT_IN_STRCASECMP
- bool "strcasecmp()"
- default y if KITTEN
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strcasecmp
-config BUILT_IN_STRNCMP
- bool "strncmp()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strncmp
+source "Kconfig.stdlibs"
-config BUILT_IN_STRNCASECMP
- bool "strncasecmp()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strncasecmp
-config BUILT_IN_STRCAT
- bool "strcat()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strcat
+menu "Virtual Paging"
-config BUILT_IN_STRNCAT
- bool "strncat()"
- default n
- depends on BUILT_IN_STDLIB
+config SHADOW_PAGING
+ bool "Enable shadow paging"
+ default y
help
- This enables Palacios' internal implementation of strncat
+ Enables shadow paging for virtual machines
-config BUILT_IN_STRCPY
- bool "strcpy()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strcpy
-config BUILT_IN_STRNCPY
- bool "strncpy()"
- default n
- depends on BUILT_IN_STDLIB
+config SHADOW_PAGING_VTLB
+ bool "Virtual TLB"
+ default y
+ depends on SHADOW_PAGING
help
- This enables Palacios' internal implementation of strncpy
+ Enables Virtual TLB implemenation for shadow paging
-config BUILT_IN_STRDUP
- bool "strdup()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strdup
-config BUILT_IN_STRSTR
- bool "strstr()"
+config DEBUG_SHDW_PG_VTLB
+ bool "Enable VTLB debugging"
default n
- depends on BUILT_IN_STDLIB
+ depends on SHADOW_PAGING_VTLB
help
- This enables Palacios internal implementation of strstr
-
-
-config BUILT_IN_ATOI
- bool "atoi()"
- default y if KITTEN
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of atoi
-
-config BUILT_IN_STRCHR
- bool "strchr()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strchr
-
-config BUILT_IN_STRRCHR
- bool "strrchr()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strrchr
+ Enables debugging messages for VTLB implementation
-config BUILT_IN_STRPBRK
- bool "strpbrk()"
- default n
- depends on BUILT_IN_STDLIB
- help
- This enables Palacios' internal implementation of strpbrk
-
-
-config BUILT_IN_STDIO
- bool "Enable Built in versions of stdio functions"
- default n
- help
- Not all host OSes provide link targets for stdio functions
- Palacios provides internal implementations of these functions, that you can select from this list
+endmenu
+menu "Symbiotic Functions"
-config BUILT_IN_SPRINTF
- bool "sprintf()"
+config SYMBIOTIC
+ bool "Enable Symbiotic Functionality"
default n
- depends on BUILT_IN_STDIO
help
- This enables Palacios' internal implementation of sprintf
+ Enable Symbiotic components of the VMM.
+ This includes the SymSpy interface.
-
-config BUILT_IN_SNPRINTF
- bool "snprintf()"
+config SYMCALL
+ bool "Symbiotic upcalls"
default n
- depends on BUILT_IN_STDIO
- help
- This enables Palacios' internal implementation of snprintf
-
+ depends on SYMBIOTIC && EXPERIMENTAL
+ help
+ Enables the Symbiotic upcall interface
-config BUILT_IN_VSPRINTF
- bool "vsprintf()"
+config SWAPBYPASS
+ bool "SwapBypass"
default n
- depends on BUILT_IN_STDIO
+ depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
help
- This enables Palacios' internal implementation of vsprintf
-
+ This enables the SwapBypass architecture
-config BUILT_IN_VSNRPRINTF
- bool "vsnrprintf()"
+config SWAPBYPASS_TELEMETRY
+ bool "Enable SwapBypass Telemetry"
default n
- depends on BUILT_IN_STDIO
+ depends on TELEMETRY && SWAPBYPASS
help
- This enables Palacios' internal implementation of vsnrprintf
-
-endmenu
-
+ Enable the telemetry information for the SwapBypass subsystem
-
-
-menu "Symbiotic Functions"
-
-config SYMBIOTIC
- bool "Enable Symbiotic Functionality"
+menuconfig SYMMOD
+ bool "Symbiotic Modules"
default n
- help
- Enable Symbiotic components of the VMM
-
+ depends on EXPERIMENTAL
+# depends on SYMBIOTIC
+ help
+ Enable Symbiotic module loading
-config SYMBIOTIC_SWAP
- bool "Symbiotic Swap"
- default n
- depends on SYMBIOTIC && EXPERIMENTAL
- help
- This enables the symbiotic swap architecture
endmenu