X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Kconfig;h=58a998ac5f7c70bd7533f700c20969305be50e26;hb=d3d6d09894dba66f4e2361bb2f903139a2d83684;hp=eebccc414a14b5a554d8286a0a8e5b8b2c70485f;hpb=16db015d4bcec7b3f9e25eb8dbb6796c4d85550a;p=palacios.git diff --git a/Kconfig b/Kconfig index eebccc4..58a998a 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 @@ -121,8 +122,10 @@ config MEM_BLOCK_SIZE int "Allocation size for underlying VM memory" default 134217728 help - This is the size in bytes of the underlying memory allocations used for the base memory regions. - A good default value is 128MB (134217728 or 0x8000000 bytes) + This is the default size in bytes of the underlying memory allocations used for the base memory regions. + A good default value is 128MB (134217728 or 0x8000000 bytes). Note that the host interface must be able + to provide contiguous memory of at least this size in order for VMs to typically work. This + value can be overriden via a load-time option, provided the host supports this. config ALIGNED_PG_ALLOC bool "Host support for aligned page allocations" @@ -142,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 @@ -220,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 @@ -233,6 +285,7 @@ config SHADOW_PAGING_VTLB depends on SHADOW_PAGING help Enables Virtual TLB implemenation for shadow paging + Virtual TLB now uses PAE so there are no 4 GB restrictions config DEBUG_SHDW_PG_VTLB @@ -242,13 +295,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