Windows pvpanic driver writes PVPANIC_CRASH_LOADED (bit 1) on bugcheck, not PVPANIC_PANICKED (bit 0). As a result, qemu_system_guest_panicked() is never called and crash_occurred stays false for Windows guests.
Set crash_occurred in qemu_system_guest_crashloaded() as well, so the faulting CPU can be identified in the guest dump. Signed-off-by: Zhengrong Li <[email protected]> --- system/runstate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/system/runstate.c b/system/runstate.c index 08acf801b0..c7961cc1df 100644 --- a/system/runstate.c +++ b/system/runstate.c @@ -724,6 +724,11 @@ void qemu_system_guest_panicked(GuestPanicInformation *info) void qemu_system_guest_crashloaded(GuestPanicInformation *info) { qemu_log_mask(LOG_GUEST_ERROR, "Guest crash loaded"); + + if (current_cpu) { + current_cpu->crash_occurred = true; + } + qapi_event_send_guest_crashloaded(GUEST_PANIC_ACTION_RUN, info); qapi_free_GuestPanicInformation(info); } -- 2.43.0
