aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
authorYunhong Jiang <yunhong.jiang@linux.intel.com>2026-03-04 15:41:16 -0800
committerDexuan Cui <decui@microsoft.com>2026-05-28 20:01:25 +0000
commit7e4c083ece42ed6c90e4071772847db595081e0e (patch)
treed711fb8ad9fc0e51fe337224e0588c91b7fdd9eb /arch
parent12d58799c19572b98ec84c12ec34a228fe3e8c5c (diff)
downloadlinux-next-history-7e4c083ece42ed6c90e4071772847db595081e0e.tar.gz
x86/hyperv/vtl: Set real_mode_header in hv_vtl_init_platform()
Hyper-V VTL clears x86_platform.realmode_{init(), reserve()} in hv_vtl_init_platform() whereas it sets real_mode_header later in hv_vtl_early_init(). There is no need to deal with the settings of real mode memory in two places. Also, both functions are called much earlier than x86_platform.realmode_init() (via an early_initcall), where the real_mode_header is needed. Set real_mode_header in hv_vtl_init_platform() to keep all code dealing with memory for the real mode trampoline in one place. Besides making the code more readable, it prepares it for a subsequent changeset in which the behavior needs to change to support Hyper-V VTL guests in a TDX environment. Reviewed-by: Dexuan Cui <decui@microsoft.com> Reviewed-by: Michael Kelley <mhklinux@outlook.com> Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Dexuan Cui <dexuan@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/hyperv/hv_vtl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
index 9b6a9bc4ab760..e045bf3a2c594 100644
--- a/arch/x86/hyperv/hv_vtl.c
+++ b/arch/x86/hyperv/hv_vtl.c
@@ -70,6 +70,7 @@ void __init hv_vtl_init_platform(void)
x86_platform.realmode_reserve = x86_init_noop;
x86_platform.realmode_init = x86_init_noop;
+ real_mode_header = &hv_vtl_real_mode_header;
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;
@@ -251,7 +252,6 @@ int __init hv_vtl_early_init(void)
panic("XSAVE has to be disabled as it is not supported by this module.\n"
"Please add 'noxsave' to the kernel command line.\n");
- real_mode_header = &hv_vtl_real_mode_header;
apic_update_callback(wakeup_secondary_cpu_64, hv_vtl_wakeup_secondary_cpu);
return 0;