From: Naman Jain <namj...@linux.microsoft.com>

[ Upstream commit 59115e2e25f42924181055ed7cc1d123af7598b7 ]

For Linux, running in Hyper-V VTL (Virtual Trust Level), kernel in VTL2
tries to access VTL0 low memory in probe_roms. This memory is not
described in the e820 map. Initialize probe_roms call to no-ops
during boot for VTL2 kernel to avoid this. The issue got identified
in OpenVMM which detects invalid accesses initiated from kernel running
in VTL2.

Co-developed-by: Saurabh Sengar <ssen...@linux.microsoft.com>
Signed-off-by: Saurabh Sengar <ssen...@linux.microsoft.com>
Signed-off-by: Naman Jain <namj...@linux.microsoft.com>
Tested-by: Roman Kisel <rom...@linux.microsoft.com>
Reviewed-by: Roman Kisel <rom...@linux.microsoft.com>
Link: 
https://lore.kernel.org/r/20250116061224.1701-1-namj...@linux.microsoft.com
Signed-off-by: Wei Liu <wei....@kernel.org>
Message-ID: <20250116061224.1701-1-namj...@linux.microsoft.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 arch/x86/hyperv/hv_vtl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
index 04775346369c5..d04ccd4b3b4af 100644
--- a/arch/x86/hyperv/hv_vtl.c
+++ b/arch/x86/hyperv/hv_vtl.c
@@ -30,6 +30,7 @@ void __init hv_vtl_init_platform(void)
        x86_platform.realmode_init = x86_init_noop;
        x86_init.irqs.pre_vector_init = x86_init_noop;
        x86_init.timers.timer_init = x86_init_noop;
+       x86_init.resources.probe_roms = x86_init_noop;
 
        /* Avoid searching for BIOS MP tables */
        x86_init.mpparse.find_mptable = x86_init_noop;
-- 
2.39.5


Reply via email to