diff --git a/arch/arm64/kernel/cpu.c b/arch/arm64/kernel/cpu.c index d8cfdf8e..ff03e229 100644 --- a/arch/arm64/kernel/cpu.c +++ b/arch/arm64/kernel/cpu.c @@ -590,6 +590,8 @@ static void show_context_stack(struct pt_regs *regs) return; } + ihk_mc_debug_show_interrupt_context(regs); + sp = (uintptr_t)regs + sizeof(*regs); stack_top = ALIGN_UP(sp, (uintptr_t)KERNEL_STACK_SIZE); max_loop = (stack_top - sp) / min_stack_frame_size; diff --git a/arch/arm64/kernel/irq-gic-v3.c b/arch/arm64/kernel/irq-gic-v3.c index 02e231e6..6550eee8 100644 --- a/arch/arm64/kernel/irq-gic-v3.c +++ b/arch/arm64/kernel/irq-gic-v3.c @@ -408,6 +408,7 @@ void gic_enable_gicv3(void) /* Set specific IPI to NMI */ writeb_relaxed(GICD_INT_NMI_PRI, rd_sgi_base + GIC_DIST_PRI + INTRID_CPU_STOP); writeb_relaxed(GICD_INT_NMI_PRI, rd_sgi_base + GIC_DIST_PRI + INTRID_MEMDUMP); + writeb_relaxed(GICD_INT_NMI_PRI, rd_sgi_base + GIC_DIST_PRI + INTRID_STACK_TRACE); /* sync wait */ gic_do_wait_for_rwp(rbase);