Re: [PATCH 2/3] x86/vmware: Add basic paravirt ops support
From: Tim Mann
Date: Wed Oct 26 2016 - 16:47:15 EST
I believe our trademark guidelines say we aren't supposed to use VMware as a
noun to mean a product, only to mean the company. So we can say "running on
VMware ESXi" or "running in a VMware virtual machine", but "running on VMware"
is wrong. There is supposedly some good legal reason for this related to
keeping our trademark.
On Tue, 25 Oct 2016 22:26:00 -0700, Alexey Makhalov <amakhalov@xxxxxxxxxx>
wrote:
> Add basic paravirt support:
> 1. set pv_info.name to "VMware" to have proper boot log message
> Booting paravirtualized kernel on VMware
> instead of "... on bare hardware"
> 2. set pv_cpu_ops.io_delay() to empty function - paravirt_nop() to
> avoid vm-exits on IO delays.
>
> Signed-off-by: Alexey Makhalov <amakhalov@xxxxxxxxxx>
> Acked-by: Alok N Kataria <akataria@xxxxxxxxxx>
> ---
> arch/x86/kernel/cpu/vmware.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
> index 480790f..e3fb320 100644
> --- a/arch/x86/kernel/cpu/vmware.c
> +++ b/arch/x86/kernel/cpu/vmware.c
> @@ -61,6 +61,16 @@ static unsigned long vmware_get_tsc_khz(void)
> return vmware_tsc_khz;
> }
>
> +#ifdef CONFIG_PARAVIRT
> +static void __init vmware_paravirt_ops_setup(void)
> +{
> + pv_info.name = "VMware";
> + pv_cpu_ops.io_delay = paravirt_nop;
> +}
> +#else
> +#define vmware_paravirt_ops_setup() do {} while (0)
> +#endif
> +
> static void __init vmware_platform_setup(void)
> {
> uint32_t eax, ebx, ecx, edx;
> @@ -94,6 +104,8 @@ static void __init vmware_platform_setup(void)
> } else {
> pr_warn("Failed to get TSC freq from the hypervisor\n");
> }
> +
> + vmware_paravirt_ops_setup();
> }
>
> /*
--
Tim Mann | work: mann@xxxxxxxxxx home: tim@xxxxxxxxxxxx
VMware Sr. Staff Engineer | http://www.vmware.com http://tim-mann.org