X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fextensions%2FKconfig;h=15fc29096578ca7d1b563d6afdc9a823f3e5d7dc;hb=4d1d8fadad33de7d3ebce2083d9782048f78b44e;hp=9e3a9055858e943ab1ed2f05a9a2a452ddae19dd;hpb=3db6f4c76bd6412d0154b7693c1516d792486b13;p=palacios.git diff --git a/palacios/src/extensions/Kconfig b/palacios/src/extensions/Kconfig index 9e3a905..15fc290 100644 --- a/palacios/src/extensions/Kconfig +++ b/palacios/src/extensions/Kconfig @@ -1,24 +1,5 @@ menu "Extensions" -config EXT_VTIME - bool "Enable Time virtualization" - default n - help - Enables the timer virtualization extensions. These hide the cost of - running inside the VMM context. This can aid the consistency of - time between multiple timers, but can cause the guest to run - a good bit slower than the host in VM-intensive parts of the code. - - -config EXT_VTSC - bool "Fully virtualize guest TSC" - default n - depends on EXT_VTIME - 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. - config EXT_MTRRS bool "Support virtualized MTTRs" default n @@ -31,7 +12,7 @@ config EXT_MACH_CHECK help Provides a virtualized machine-check architecture -config DEGUB_EXT_MACH_CHECK +config DEBUG_EXT_MACH_CHECK bool "Debug machine-check functionality" default n depends on EXT_MACH_CHECK @@ -44,48 +25,51 @@ config EXT_INSPECTOR help Provides the inspection extension -config SW_INTERRUPTS - bool "Enable interception and hooking of software interrupts" - default n - help - This feature will cause the VMM to intercept the execution - of software interrupts (i.e. the INTn instruction) and enable - any INT vector to be hooked +config EXT_VMWARE + bool "VMWare Persona" + default n + help + Provides a VMWare persona to allow TSC calibration -config SWINTR_PASSTHROUGH - bool "Hook all unhandled sofware interrupts for passthrough" - depends on SW_INTERRUPTS - default n - help - If enabled, this will cause all software interrupts - (INT instruction vectors) to be hooked for passthrough. - May reduce performance but useful for debugging. +config EXT_SCHED_EDF + bool "EDF Real-time Scheduler" + default n + help + Provides a full real-time EDF scheduler for VM cores -config SYSCALL_HIJACK - bool "Enable System Call Hijacking" - depends on SW_INTERRUPTS - default n - help - Enable the VMM to hijack system calls executed by the guest. - If enabled, the VMM will hook execution of INT 80 - (support for Fast-System Calls coming soon) +config DEBUG_EXT_SCHED_EDF + bool "Debugging for EDF Real-time Scheduler" + default n + depends on DEBUG_ON && EXT_SCHED_EDF -config SYSCALL_PASSTHROUGH - bool "Hook all unhandled system calls for passthrough" - depends on SYSCALL_HIJACK - default n - help - If enabled, this option will cause all system calls - that are not explicitly hooked to be hooked for - passthrough. This is useful for debugging. +config EXT_CPU_MAPPER_EDF + bool "CPU Mapper for EDF Scheduler" + default n + help + Provides an CPU Mapper for EDF scheduler + +config DEBUG_EXT_CPU_MAPPER_EDF + bool "Debugging for EDF CPU Mapper" + default n + depends on DEBUG_ON && EXT_CPU_MAPPER_EDF + +config TM_FUNC + bool "Enable Intel Transactional Memory Emulation" + default n + depends on SVM && QUIX86 && EXPERIMENTAL + help + Enable Palacios to emulate Intel's hardware + transactional memory extensions. This is the + Restricted Transactional Memory (RTM) featureset, + part of Intel's TSX extensions. + + Ironically, this feature is only implemented for AMD (SVM) -config HIJACK_SYSCALL_MSR - bool "Intercept Syscall-related MSR reads & writes" - depends on SYSCALL_HIJACK +config DEBUG_TM_FUNC + bool "Enable transactional memory emulation debugging output" + depends on DEBUG_ON && TM_FUNC default n help - Allow the VMM to intercept reads and writes to MSRs - related to SYSCALL and SYSENTER instructions. Specifically, - it will intercept R/W to STAR, CSTAR, and LSTAR. + Enable Transactional Memory debugging output endmenu