Message ID | 20201202211949.17730-2-info@metux.net |
---|---|
State | New |
Headers | show |
Series | [v2,1/2] x86: make VMware support optional | expand |
On 12/2/20 1:19 PM, Enrico Weigelt, metux IT consult wrote: > Make it possible to opt-out from Hyper-V support, for minimized kernels > that never will by run under Hyper-V. (eg. high-density virtualization > or embedded systems) > > Average distro kernel will leave it on, therefore default to y. > > Signed-off-by: Enrico Weigelt <info@metux.net> > --- > arch/x86/Kconfig | 11 +++++++++++ > arch/x86/kernel/cpu/Makefile | 4 ++-- > arch/x86/kernel/cpu/hypervisor.c | 2 ++ > drivers/hv/Kconfig | 2 +- > 4 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index eff12460cb3c..57d20591d6ee 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -812,6 +812,17 @@ config VMWARE_GUEST > density virtualization or embedded systems running (para)virtualized > workloads. > > +config HYPERV_GUEST > + bool "Hyper-V Guest support" > + default y > + help > + This option enables several optimizations for running under the > + Hyper-V hypervisor. > + > + Disabling it saves a few kb, for stripped down kernels eg. in high kB, e.g. > + density virtualization or embedded systems running (para)virtualized > + workloads. > + > config KVM_GUEST > bool "KVM Guest support (including kvmclock)" > depends on PARAVIRT
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index eff12460cb3c..57d20591d6ee 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -812,6 +812,17 @@ config VMWARE_GUEST density virtualization or embedded systems running (para)virtualized workloads. +config HYPERV_GUEST + bool "Hyper-V Guest support" + default y + help + This option enables several optimizations for running under the + Hyper-V hypervisor. + + Disabling it saves a few kb, for stripped down kernels eg. in high + density virtualization or embedded systems running (para)virtualized + workloads. + config KVM_GUEST bool "KVM Guest support (including kvmclock)" depends on PARAVIRT diff --git a/arch/x86/kernel/cpu/Makefile b/arch/x86/kernel/cpu/Makefile index a615b0152bf0..5536b801cb44 100644 --- a/arch/x86/kernel/cpu/Makefile +++ b/arch/x86/kernel/cpu/Makefile @@ -51,9 +51,9 @@ obj-$(CONFIG_X86_CPU_RESCTRL) += resctrl/ obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o -obj-$(CONFIG_HYPERVISOR_GUEST) += hypervisor.o mshyperv.o +obj-$(CONFIG_HYPERVISOR_GUEST) += hypervisor.o obj-$(CONFIG_VMWARE_GUEST) += vmware.o - +obj-$(CONFIG_HYPERV_GUEST) += mshyperv.o obj-$(CONFIG_ACRN_GUEST) += acrn.o ifdef CONFIG_X86_FEATURE_NAMES diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c index c0e770a224aa..32d6b2084d05 100644 --- a/arch/x86/kernel/cpu/hypervisor.c +++ b/arch/x86/kernel/cpu/hypervisor.c @@ -37,7 +37,9 @@ static const __initconst struct hypervisor_x86 * const hypervisors[] = #ifdef CONFIG_VMWARE_GUEST &x86_hyper_vmware, #endif +#ifdef CONFIG_HYPERV_GUEST &x86_hyper_ms_hyperv, +#endif #ifdef CONFIG_KVM_GUEST &x86_hyper_kvm, #endif diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 79e5356a737a..7b3094c59a81 100644 --- a/drivers/hv/Kconfig +++ b/drivers/hv/Kconfig @@ -4,7 +4,7 @@ menu "Microsoft Hyper-V guest support" config HYPERV tristate "Microsoft Hyper-V client drivers" - depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST + depends on X86 && ACPI && X86_LOCAL_APIC && HYPERV_GUEST select PARAVIRT select X86_HV_CALLBACK_VECTOR help
Make it possible to opt-out from Hyper-V support, for minimized kernels that never will by run under Hyper-V. (eg. high-density virtualization or embedded systems) Average distro kernel will leave it on, therefore default to y. Signed-off-by: Enrico Weigelt <info@metux.net> --- arch/x86/Kconfig | 11 +++++++++++ arch/x86/kernel/cpu/Makefile | 4 ++-- arch/x86/kernel/cpu/hypervisor.c | 2 ++ drivers/hv/Kconfig | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-)