Skip to content

Commit 9e2d0c3

Browse files
Saurabh Sengarliuw
authored andcommitted
x86/hyperv: add noop functions to x86_init mpparse functions
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@linux.microsoft.com> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lore.kernel.org/r/1687537688-5397-1-git-send-email-ssengar@linux.microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
1 parent ed0cf84 commit 9e2d0c3

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

arch/x86/hyperv/hv_vtl.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ void __init hv_vtl_init_platform(void)
2525
x86_init.irqs.pre_vector_init = x86_init_noop;
2626
x86_init.timers.timer_init = x86_init_noop;
2727

28+
/* Avoid searching for BIOS MP tables */
29+
x86_init.mpparse.find_smp_config = x86_init_noop;
30+
x86_init.mpparse.get_smp_config = x86_init_uint_noop;
31+
2832
x86_platform.get_wallclock = get_rtc_noop;
2933
x86_platform.set_wallclock = set_rtc_noop;
3034
x86_platform.get_nmi_reason = hv_get_nmi_reason;

0 commit comments

Comments
 (0)