From 0719360a2b76b3c03b1f7ad06caf2ce14e2bfcbf Mon Sep 17 00:00:00 2001 From: Kazuhito Hagio Date: Mon, 6 Feb 2023 14:27:55 +0900 Subject: [PATCH] test irq ret --- x86_64.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/x86_64.c b/x86_64.c index 7a5d6f05..f83900b2 100644 --- a/x86_64.c +++ b/x86_64.c @@ -3938,6 +3938,11 @@ x86_64_low_budget_back_trace_cmd(struct bt_info *bt_in) if (irq_eframe) { bt->flags |= BT_EXCEPTION_FRAME; i = (irq_eframe - bt->stackbase)/sizeof(ulong); + if (symbol_exists("asm_common_interrupt")) { + i -= 1; + up = (ulong *)(&bt->stackbuf[i*sizeof(ulong)]); + bt->instptr = *up; + } x86_64_print_stack_entry(bt, ofp, level, i, bt->instptr); bt->flags &= ~(ulonglong)BT_EXCEPTION_FRAME; cs = x86_64_exception_frame(EFRAME_PRINT|EFRAME_CS, 0, @@ -6521,6 +6526,11 @@ x86_64_irq_eframe_link_init(void) else return; + if (symbol_exists("asm_common_interrupt")) { + machdep->machspec->irq_eframe_link = -32; + return; + } + if (THIS_KERNEL_VERSION < LINUX(2,6,9)) return;