diff mbox series

[1/2] x86: make vmware support optional

Message ID 20201117202308.7568-1-info@metux.net (mailing list archive)
State New, archived
Headers show
Series [1/2] x86: make vmware support optional | expand

Commit Message

Enrico Weigelt, metux IT consult Nov. 17, 2020, 8:23 p.m. UTC
Make it possible to opt-out from vmware support

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 arch/x86/Kconfig                 | 7 +++++++
 arch/x86/kernel/cpu/Makefile     | 4 +++-
 arch/x86/kernel/cpu/hypervisor.c | 2 ++
 drivers/input/mouse/Kconfig      | 2 +-
 drivers/misc/Kconfig             | 2 +-
 drivers/ptp/Kconfig              | 2 +-
 6 files changed, 15 insertions(+), 4 deletions(-)

Comments

Borislav Petkov Nov. 17, 2020, 8:31 p.m. UTC | #1
On Tue, Nov 17, 2020 at 09:23:07PM +0100, Enrico Weigelt, metux IT consult wrote:
> Make it possible to opt-out from vmware support

Why?

I can think of a couple of reasons but maybe yours might not be the one
I'm thinking of.

> Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
> ---
>  arch/x86/Kconfig                 | 7 +++++++
>  arch/x86/kernel/cpu/Makefile     | 4 +++-
>  arch/x86/kernel/cpu/hypervisor.c | 2 ++
>  drivers/input/mouse/Kconfig      | 2 +-
>  drivers/misc/Kconfig             | 2 +-
>  drivers/ptp/Kconfig              | 2 +-
>  6 files changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f6946b81f74a..c227c1fa0091 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -801,6 +801,13 @@ config X86_HV_CALLBACK_VECTOR
>  
>  source "arch/x86/xen/Kconfig"
>  
> +config VMWARE_GUEST
> +	bool "Vmware Guest support"
> +	default y

depends on HYPERVISOR_GUEST. The hyperv one too.
Enrico Weigelt, metux IT consult Dec. 2, 2020, 7:17 p.m. UTC | #2
On 17.11.20 21:31, Borislav Petkov wrote:
> On Tue, Nov 17, 2020 at 09:23:07PM +0100, Enrico Weigelt, metux IT consult wrote:
>> Make it possible to opt-out from vmware support
> 
> Why?

Reducing the kernel size. Think of very high density virtualization
(w/ specially stripped-down workloads) or embedded systems.

For example, I'm running bare minimum kernels w/ only kvm and virtio
(not even pci, etc) in such scenarios.

Of course, that's nothing for an average distro, therefore leaving
default y.


--mtx


> 
> I can think of a couple of reasons but maybe yours might not be the one
> I'm thinking of.
> 
>> Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
>> ---
>>  arch/x86/Kconfig                 | 7 +++++++
>>  arch/x86/kernel/cpu/Makefile     | 4 +++-
>>  arch/x86/kernel/cpu/hypervisor.c | 2 ++
>>  drivers/input/mouse/Kconfig      | 2 +-
>>  drivers/misc/Kconfig             | 2 +-
>>  drivers/ptp/Kconfig              | 2 +-
>>  6 files changed, 15 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index f6946b81f74a..c227c1fa0091 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -801,6 +801,13 @@ config X86_HV_CALLBACK_VECTOR
>>  
>>  source "arch/x86/xen/Kconfig"
>>  
>> +config VMWARE_GUEST
>> +	bool "Vmware Guest support"
>> +	default y
> 
> depends on HYPERVISOR_GUEST. The hyperv one too.
>
Borislav Petkov Dec. 2, 2020, 7:22 p.m. UTC | #3
On Wed, Dec 02, 2020 at 08:17:23PM +0100, Enrico Weigelt, metux IT consult wrote:
> Reducing the kernel size. Think of very high density virtualization
> (w/ specially stripped-down workloads) or embedded systems.
> 
> For example, I'm running bare minimum kernels w/ only kvm and virtio
> (not even pci, etc) in such scenarios.
> 
> Of course, that's nothing for an average distro, therefore leaving
> default y.

Ok, pls put the reasoning for the change in the next revision's commit
message along with how much KB savings we're talking about.

Thx.
diff mbox series

Patch

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f6946b81f74a..c227c1fa0091 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -801,6 +801,13 @@  config X86_HV_CALLBACK_VECTOR
 
 source "arch/x86/xen/Kconfig"
 
+config VMWARE_GUEST
+	bool "Vmware Guest support"
+	default y
+	help
+	  This option enables several optimizations for running under the
+	  VMware hypervisor.
+
 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 93792b457b81..a615b0152bf0 100644
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
@@ -51,7 +51,9 @@  obj-$(CONFIG_X86_CPU_RESCTRL)		+= resctrl/
 
 obj-$(CONFIG_X86_LOCAL_APIC)		+= perfctr-watchdog.o
 
-obj-$(CONFIG_HYPERVISOR_GUEST)		+= vmware.o hypervisor.o mshyperv.o
+obj-$(CONFIG_HYPERVISOR_GUEST)		+= hypervisor.o mshyperv.o
+obj-$(CONFIG_VMWARE_GUEST)		+= vmware.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 553bfbfc3a1b..c0e770a224aa 100644
--- a/arch/x86/kernel/cpu/hypervisor.c
+++ b/arch/x86/kernel/cpu/hypervisor.c
@@ -34,7 +34,9 @@  static const __initconst struct hypervisor_x86 * const hypervisors[] =
 #ifdef CONFIG_XEN_PVHVM
 	&x86_hyper_xen_hvm,
 #endif
+#ifdef CONFIG_VMWARE_GUEST
 	&x86_hyper_vmware,
+#endif
 	&x86_hyper_ms_hyperv,
 #ifdef CONFIG_KVM_GUEST
 	&x86_hyper_kvm,
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig
index d8b6a5dab190..29ced69d5c85 100644
--- a/drivers/input/mouse/Kconfig
+++ b/drivers/input/mouse/Kconfig
@@ -186,7 +186,7 @@  config MOUSE_PS2_FOCALTECH
 
 config MOUSE_PS2_VMMOUSE
 	bool "Virtual mouse (vmmouse)"
-	depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST
+	depends on MOUSE_PS2 && X86 && VMWARE_GUEST
 	help
 	  Say Y here if you are running under control of VMware hypervisor
 	  (ESXi, Workstation or Fusion). Also make sure that when you enable
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index fafa8b0d8099..d2bd8eff6eb6 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -363,7 +363,7 @@  config DS1682
 
 config VMWARE_BALLOON
 	tristate "VMware Balloon Driver"
-	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
+	depends on VMWARE_VMCI && X86 && VMWARE_GUEST
 	select MEMORY_BALLOON
 	help
 	  This is VMware physical memory management driver which acts
diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index 942f72d8151d..6bf30153270e 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -141,7 +141,7 @@  config PTP_1588_CLOCK_IDTCM
 
 config PTP_1588_CLOCK_VMW
 	tristate "VMware virtual PTP clock"
-	depends on ACPI && HYPERVISOR_GUEST && X86
+	depends on ACPI && VMWARE_GUEST && X86
 	depends on PTP_1588_CLOCK
 	help
 	  This driver adds support for using VMware virtual precision