> -----Original Message----- > From: Wei Liu <wei.liu@xxxxxxxxxx> > Sent: Wednesday, June 28, 2023 11:29 PM > To: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx> > Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang > <haiyangz@xxxxxxxxxxxxx>; wei.liu@xxxxxxxxxx; Dexuan Cui > <decui@xxxxxxxxxxxxx>; tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; > bp@xxxxxxxxx; dave.hansen@xxxxxxxxxxxxxxx; x86@xxxxxxxxxx; Michael Kelley > (LINUX) <mikelley@xxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; linux- > hyperv@xxxxxxxxxxxxxxx; hpa@xxxxxxxxx > Subject: [EXTERNAL] 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@xxxxxxxxxxxxxxxxxxx> > > Hi Dave, are you happy with the commit message? HI Dave, If there is no concern, can I get your ack - Saurabh > > > --- > > [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 > >