Question to hv_vtl_real_mode_header in hv_vtl.c

From: Yunhong Jiang
Date: Tue Aug 13 2024 - 13:28:31 EST


Hi, Srinivasan and Dexuan,
I have a question to the hv_vtl_real_mode_header in
arch/x86//hyperv/hv_vtl.c when addressing one patch review comment.
In hv_vtl_early_init(), the real_mode_header is set to
hv_vtl_real_mode_header, but there is no setup to the real_mode_header, since
the realmode_init() is marked x86_init_noop in hv_vtl_init_platform.
How is the real_mode_header(in another word, hv_vtl_real_mode_header)
used? Is it to meet the access requirement from do_boot_cpu(), so that
real_mode_header->trampoline_start64 will work, although the start_ip is not
used?
If it's really to support the do_boot_cpu() requirement, how does the
non-VTL guest meet the access requirement? The hv_vtl_init_platform() is
unconditionally called from ms_hyperv_init_platform(), so I assume all hyperv
guest will have the realmode_init() set as x86_init_noop.

Thank you
--jyh