[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 3/3] xen: add support for automatic debug key actions in case of crash
Hi Juergen, On 14/12/2020 07:56, Juergen Gross wrote: diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index de120fa092..806355ed8b 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -3,7 +3,9 @@ */#include <asm/regs.h>+#include <xen/delay.h> #include <xen/keyhandler.h> +#include <xen/param.h> #include <xen/shutdown.h> #include <xen/event.h> #include <xen/console.h> @@ -519,6 +521,59 @@ void __init initialize_keytable(void) } }+#define CRASHACTION_SIZE 32+static char crash_debug_panic[CRASHACTION_SIZE]; +string_runtime_param("crash-debug-panic", crash_debug_panic); +static char crash_debug_hwdom[CRASHACTION_SIZE]; +string_runtime_param("crash-debug-hwdom", crash_debug_hwdom); +static char crash_debug_watchdog[CRASHACTION_SIZE]; +string_runtime_param("crash-debug-watchdog", crash_debug_watchdog); +#ifdef CONFIG_KEXEC +static char crash_debug_kexeccmd[CRASHACTION_SIZE]; +string_runtime_param("crash-debug-kexeccmd", crash_debug_kexeccmd); +#else +#define crash_debug_kexeccmd NULL +#endif +static char crash_debug_debugkey[CRASHACTION_SIZE]; +string_runtime_param("crash-debug-debugkey", crash_debug_debugkey); + +void keyhandler_crash_action(enum crash_reason reason) +{ + static const char *const crash_action[] = { + [CRASHREASON_PANIC] = crash_debug_panic, + [CRASHREASON_HWDOM] = crash_debug_hwdom, + [CRASHREASON_WATCHDOG] = crash_debug_watchdog, + [CRASHREASON_KEXECCMD] = crash_debug_kexeccmd, + [CRASHREASON_DEBUGKEY] = crash_debug_debugkey, + }; + static bool ignore; + const char *action; + + /* Some handlers are not functional too early. */ Can you explain in the commit message why this is necessary (An example would be useful)? Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |