diff --git a/drivers/misc/pvpanic.c b/drivers/misc/pvpanic.c index 3f0de3be0a19..a6e1a8983e1f 100644 --- a/drivers/misc/pvpanic.c +++ b/drivers/misc/pvpanic.c @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -33,7 +34,13 @@ static int pvpanic_panic_notify(struct notifier_block *nb, unsigned long code, void *unused) { - pvpanic_send_event(PVPANIC_PANICKED); + unsigned int event = PVPANIC_PANICKED; + + if (kexec_crash_loaded()) + event = PVPANIC_CRASH_LOADED; + + pvpanic_send_event(event); + return NOTIFY_DONE; } diff --git a/include/uapi/misc/pvpanic.h b/include/uapi/misc/pvpanic.h index cae69a822b25..54b7485390d3 100644 --- a/include/uapi/misc/pvpanic.h +++ b/include/uapi/misc/pvpanic.h @@ -4,5 +4,6 @@ #define __PVPANIC_H__ #define PVPANIC_PANICKED (1 << 0) +#define PVPANIC_CRASH_LOADED (1 << 1) #endif /* __PVPANIC_H__ */