[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH v1 00/15] x86: make cpu virtualization support configurable
This series aims to continue what Xenia started a year ago: https://lore.kernel.org/xen-devel/20230213145751.1047236-1-burzalodowa@xxxxxxxxx/ Here's an attempt to provide a means to render the cpu virtualization technology support in Xen configurable. Currently, irrespectively of the target platform, both AMD-V and Intel VT-x drivers are built. The series adds two new Kconfig controls, SVM and VMX, that can be used to switch to a finer-grained configuration for a given platform, and reduce dead code. The code separation is done using the new config guards. Since the initial RFC series felt rather welcomed, I took a courage naming it v1 and continuing from there. New changes are: v1: * changed Kconfig options naming * use IS_ENABLED() instead of #ifdef where possible * move altp2m code apart from p2m & hide under VMX option * introduce helper in cpu_has_vmx_* macros * and address other comments from Jan Sergiy Kibrik (6): x86/monitor: guard altp2m usage x86/p2m: guard altp2m init/teardown x86/p2m: move altp2m-related code to separate file x86/p2m: guard altp2m code with CONFIG_VMX option x86/vpmu: separate amd/intel vPMU code x86/vmx: introduce helper function for vmcs macro Xenia Ragiadakou (9): x86: introduce AMD-V and Intel VT-x Kconfig options x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers x86/p2m: guard vmx specific ept functions with CONFIG_VMX x86/traps: guard vmx specific functions with CONFIG_VMX x86/domain: guard svm specific functions with CONFIG_SVM x86/oprofile: guard svm specific symbols with CONFIG_SVM x86: wire cpu_has_{svm/vmx}_* to false when svm/vmx not enabled x86/ioreq: guard VIO_realmode_completion with CONFIG_VMX x86/hvm: make AMD-V and Intel VT-x support configurable xen/arch/x86/Kconfig | 20 + xen/arch/x86/cpu/Makefile | 4 +- xen/arch/x86/domain.c | 10 +- xen/arch/x86/hvm/Makefile | 4 +- xen/arch/x86/hvm/emulate.c | 2 + xen/arch/x86/hvm/hvm.c | 4 +- xen/arch/x86/hvm/ioreq.c | 2 + xen/arch/x86/hvm/monitor.c | 4 +- xen/arch/x86/include/asm/altp2m.h | 5 +- xen/arch/x86/include/asm/hvm/hvm.h | 7 + xen/arch/x86/include/asm/hvm/svm/svm.h | 8 + xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 96 ++-- xen/arch/x86/include/asm/hvm/vmx/vmx.h | 28 +- xen/arch/x86/include/asm/p2m.h | 18 +- xen/arch/x86/include/asm/vpmu.h | 19 + xen/arch/x86/mm/Makefile | 5 +- xen/arch/x86/mm/altp2m.c | 631 +++++++++++++++++++++++ xen/arch/x86/mm/hap/Makefile | 2 +- xen/arch/x86/mm/p2m-basic.c | 23 +- xen/arch/x86/mm/p2m.c | 636 +----------------------- xen/arch/x86/mm/p2m.h | 3 + xen/arch/x86/oprofile/op_model_athlon.c | 2 +- xen/arch/x86/traps.c | 8 +- xen/drivers/passthrough/Kconfig | 4 +- xen/include/xen/sched.h | 2 +- 25 files changed, 834 insertions(+), 713 deletions(-) -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |