X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Kconfig;h=a0995261153c3ff9a76d607ed6bb85606683d6ed;hb=2cce318d177c66ebf6eb5bb2cd156df46f8aca85;hp=9c9dfe2368126745ebe300fa3b20e7a17f9a45f6;hpb=c17cafcb6db943bd5bbb31d86f0392c113b2d668;p=palacios.git diff --git a/Kconfig b/Kconfig index 9c9dfe2..a099526 100644 --- a/Kconfig +++ b/Kconfig @@ -75,6 +75,7 @@ config VMX Compile with support for Intel VMX + config FRAME_POINTER bool "Compile with Frame pointers" default n @@ -144,6 +145,49 @@ config MAX_CPUS endmenu source "palacios/src/interfaces/Kconfig" + +menu "Virtual core specialization" + +config CUSTOM_CPUID + bool "Use custom CPU information (vendor, etc)" + default n + help + If set, the CPU information will be for a special V3VEE vendor. + This should result in identical guest kernel setup, regardless + of the underlying hardware, but it also means that the guest kernel + has no chance of employing CPU-specific bug fixes. + +config STRICT_MSR_SEMANTICS + bool "Use strict RDMSR/WRMSR semantics" + default n + help + Use strict MSR semantics - when an unhandled MSR is read or written, + a GPF is generated. This is typically usd with CUSTOM_CPU_TYPE on. + +config FP_SWITCH + bool "Floating point context switching" + default n + help + If set, floating point is handled for context switches + (VM1->VM2->VM1 and/or VM->HOST->VM). This can be disabled + for environments where a single VM is the only user of FP. + Note that even if disabled, FP save/restore code is included + for support of checkpoint/restore. + +config LAZY_FP_SWITCH + bool "Use host-based lazy floating point context switching" + depends on FP_SWITCH && HOST_LAZY_FPU_SWITCH + default y + help + When true, the host's lazy floating point save/restore + mechanism is notified on each exit and entry. If false, + the floating point state is explicitly saved on each exit + and restored on each entry---this save/restore is entirely + done in Palacios. + + +endmenu + source "palacios/src/extensions/Kconfig" config TELEMETRY @@ -222,6 +266,12 @@ source "Kconfig.stdlibs" menu "Virtual Paging" +config NESTED_PAGING + bool "Enable nested paging" + default y + help + Enable nested paging (should always be on) + config SHADOW_PAGING bool "Enable shadow paging" default y @@ -244,13 +294,34 @@ config DEBUG_SHDW_PG_VTLB help Enables debugging messages for VTLB implementation -config SHADOW_PAGING_CACHE1 - bool "Shadow Page Cache (1)" - default y - depends on SHADOW_PAGING +config SHADOW_PAGING_CACHE + bool "Shadow Page Cache" + default n + depends on SHADOW_PAGING && EXPERIMENTAL help - Enables caching implemenation for shadow paging + Enables caching implementation of shadow paging +config DEBUG_SHADOW_PAGING_CACHE + bool "Enable Shadow Page Cache Debugging" + default n + depends on SHADOW_PAGING_CACHE + help + Enables debugging messages for the VTLB + Caching implementation + +#config SHADOW_PAGING_KVM +# bool "KVM-style Shadow Pager" +# default n +# depends on SHADOW_PAGING && EXPERIMENTAL +# help +# Enables shadow pager derived from KVM +# You probably do not want this and it will probably not compile! +# +#config DEBUG_SHADOW_PAGING_KVM +# bool "Enable KVM-style Shadow Pager Debugging" +# default n +# depends on SHADOW_PAGING_KVM +# help +# Enables debugging messages for the KVM-style shadow pager endmenu