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? > --- > [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 >