menu "Target Configuration"
+
+config KITTEN
+ bool "Set defaults needed for the Kitten OS"
+ default y
+ help
+ This enables the necesary options to compile Palacios with Kitten
+
+
config CRAY_XT
bool "Red Storm (Cray XT3/XT4)"
help
Compile with support for Intel VMX
+config MULTITHREAD_OS
+ bool "Compile for a multi threaded OS"
+ default y
+ help
+ This allows Palacios to use OS thread mechanisms
+
+
+config MAX_CPUS
+ int "Maximum number of cpus"
+ range 1 255
+ default "16"
+ help
+ Specifies the maximum number of hardware cpus Palacios can support
+
+ For uniprocessor environments, set this to 1
+
+
config SOCKET
bool "Include Network Socket Support"
- default y
+ default n
help
Enable networking support in Palacios
-config PROFILE_VMM
- bool "Enable VMM profiling support"
+
+config TELEMETRY
+ bool "Enable VMM telemetry support"
default y
help
- Enable the profiling framework in Palacios
+ 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 file
+ 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 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 n
+ help
+ Configures Palacios to map a guest's framebuffer directly
+ to the hardware framebuffer (no longer needed)
config INSTRUMENT_VMM
bool "Enable VMM instrumentation"
--------
This is much heavier weight than profiling
+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 VNET
+ bool "Enable Vnet Debug in Palacios"
+ default n
+ help
+ Enable the Vnet Debug in Palacios
config BUILT_IN_STDLIB
bool "Enable Built in versions of stdlib functions"
- default n
+ 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
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
help
This enables Palacios' internal implementation of strcmp
+
+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
help
This enables Palacios' internal implementation of strncmp
+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
help
This enables Palacios' internal implementation of strdup
+config BUILT_IN_STRSTR
+ bool "strstr()"
+ default n
+ depends on BUILT_IN_STDLIB
+ help
+ This enables Palacios internal implementation of strstr
+
config BUILT_IN_ATOI
bool "atoi()"
- default n
+ default y if KITTEN
depends on BUILT_IN_STDLIB
help
This enables Palacios' internal implementation of atoi
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
+
+
+
config BUILT_IN_SPRINTF
bool "sprintf()"
default n
- depends on BUILT_IN_STDLIB
+ depends on BUILT_IN_STDIO
help
This enables Palacios' internal implementation of sprintf
config BUILT_IN_SNPRINTF
bool "snprintf()"
default n
- depends on BUILT_IN_STDLIB
+ depends on BUILT_IN_STDIO
help
This enables Palacios' internal implementation of snprintf
config BUILT_IN_VSPRINTF
bool "vsprintf()"
default n
- depends on BUILT_IN_STDLIB
+ depends on BUILT_IN_STDIO
help
This enables Palacios' internal implementation of vsprintf
config BUILT_IN_VSNPRINTF
bool "vsnprintf()"
default n
- depends on BUILT_IN_STDLIB
+ depends on BUILT_IN_STDIO
help
This enables Palacios' internal implementation of vsnprintf
config BUILT_IN_VSNRPRINTF
bool "vsnrprintf()"
default n
- depends on BUILT_IN_STDLIB
+ depends on BUILT_IN_STDIO
help
This enables Palacios' internal implementation of vsnrprintf
config SYMBIOTIC_SWAP
bool "Symbiotic Swap"
default n
- depends on SYMBIOTIC
+ depends on SYMBIOTIC && EXPERIMENTAL
help
This enables the symbiotic swap architecture