summaryrefslogtreecommitdiff
path: root/arch/powerpc/xmon
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2019-09-10 10:18:49 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2019-09-14 00:58:47 +1000
commit5896163f7f91c0560cc41908c808661eee4c4121 (patch)
tree53346bcd1edf5a6ce86f32cce8fd1129818212ae /arch/powerpc/xmon
parentec5b705c48365549c483fab17d68d15d83bef265 (diff)
powerpc/xmon: Improve output of XIVE interrupts
When looping on the list of interrupts, add the current value of the PQ bits with a load on the ESB page. This has the side effect of faulting the ESB page of all interrupts. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190910081850.26038-2-clg@kaod.org
Diffstat (limited to 'arch/powerpc/xmon')
-rw-r--r--arch/powerpc/xmon/xmon.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index dc9832e06256..d83364ebc5c5 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2572,16 +2572,9 @@ static void dump_all_xives(void)
dump_one_xive(cpu);
}
-static void dump_one_xive_irq(u32 num)
+static void dump_one_xive_irq(u32 num, struct irq_data *d)
{
- int rc;
- u32 target;
- u8 prio;
- u32 lirq;
-
- rc = xmon_xive_get_irq_config(num, &target, &prio, &lirq);
- xmon_printf("IRQ 0x%08x : target=0x%x prio=%d lirq=0x%x (rc=%d)\n",
- num, target, prio, lirq, rc);
+ xmon_xive_get_irq_config(num, d);
}
static void dump_all_xive_irq(void)
@@ -2599,7 +2592,7 @@ static void dump_all_xive_irq(void)
hwirq = (unsigned int)irqd_to_hwirq(d);
/* IPIs are special (HW number 0) */
if (hwirq)
- dump_one_xive_irq(hwirq);
+ dump_one_xive_irq(hwirq, d);
}
}
@@ -2619,7 +2612,7 @@ static void dump_xives(void)
return;
} else if (c == 'i') {
if (scanhex(&num))
- dump_one_xive_irq(num);
+ dump_one_xive_irq(num, NULL);
else
dump_all_xive_irq();
return;