x86/hyperv: Move hv crash init after hypercall pg setup
authorMukesh R <mrathor@linux.microsoft.com>
Wed, 4 Feb 2026 01:58:00 +0000 (17:58 -0800)
committerWei Liu <wei.liu@kernel.org>
Wed, 4 Feb 2026 06:26:29 +0000 (06:26 +0000)
hv_root_crash_init() is not setting up the hypervisor crash collection
for baremetal cases because when it's called, hypervisor page is not
setup.

Fix is simple, just move the crash init call after the hypercall
page setup.

Signed-off-by: Mukesh Rathor <mrathor@linux.microsoft.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/hyperv/hv_init.c

index 14de43f..7f3301b 100644 (file)
@@ -558,7 +558,6 @@ void __init hyperv_init(void)
                memunmap(src);
 
                hv_remap_tsc_clocksource();
-               hv_root_crash_init();
                hv_sleep_notifiers_register();
        } else {
                hypercall_msr.guest_physical_address = vmalloc_to_pfn(hv_hypercall_pg);
@@ -567,6 +566,9 @@ void __init hyperv_init(void)
 
        hv_set_hypercall_pg(hv_hypercall_pg);
 
+       if (hv_root_partition())        /* after set hypercall pg */
+               hv_root_crash_init();
+
 skip_hypercall_pg_init:
        /*
         * hyperv_init() is called before LAPIC is initialized: see