[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZJx02GzzoQ9E1TH9@liuwe-devbox-debian-v2>
Date: Wed, 28 Jun 2023 17:58:48 +0000
From: Wei Liu <wei.liu@...nel.org>
To: Saurabh Sengar <ssengar@...ux.microsoft.com>
Cc: kys@...rosoft.com, haiyangz@...rosoft.com, wei.liu@...nel.org,
decui@...rosoft.com, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, x86@...nel.org,
mikelley@...rosoft.com, linux-kernel@...r.kernel.org,
linux-hyperv@...r.kernel.org, hpa@...or.com
Subject: Re: [PATCH v3] x86/hyperv: add noop functions to x86_init mpparse
functions
On Fri, Jun 23, 2023 at 09:28:08AM -0700, Saurabh Sengar wrote:
> Hyper-V can run VMs at different privilege "levels" known as Virtual
> Trust Levels (VTL). Sometimes, it chooses to run two different VMs
> at different levels but they share some of their address space. In
> such setups VTL2 (higher level VM) has visibility of all of the
> VTL0 (level 0) memory space.
>
> When the CONFIG_X86_MPPARSE is enabled for VTL2, the VTL2 kernel
> performs a search within the low memory to locate MP tables. However,
> in systems where VTL0 manages the low memory and may contain valid
> tables, this scanning can result in incorrect MP table information
> being provided to the VTL2 kernel, mistakenly considering VTL0's MP
> table as its own
>
> Add noop functions to avoid MP parse scan by VTL2.
>
> Signed-off-by: Saurabh Sengar <ssengar@...ux.microsoft.com>
Hi Dave, are you happy with the commit message?
> ---
> [V3]
> - modify commit message.
>
> arch/x86/hyperv/hv_vtl.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
> index 85d38b9f3586..db5d2ea39fc0 100644
> --- a/arch/x86/hyperv/hv_vtl.c
> +++ b/arch/x86/hyperv/hv_vtl.c
> @@ -25,6 +25,10 @@ void __init hv_vtl_init_platform(void)
> x86_init.irqs.pre_vector_init = x86_init_noop;
> x86_init.timers.timer_init = x86_init_noop;
>
> + /* Avoid searching for BIOS MP tables */
> + x86_init.mpparse.find_smp_config = x86_init_noop;
> + x86_init.mpparse.get_smp_config = x86_init_uint_noop;
> +
> x86_platform.get_wallclock = get_rtc_noop;
> x86_platform.set_wallclock = set_rtc_noop;
> x86_platform.get_nmi_reason = hv_get_nmi_reason;
> --
> 2.34.1
>
Powered by blists - more mailing lists