From 39f14e79b15a40709ef177bc4c07f193b6d3bce3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Le=20Goater?= Date: Wed, 14 Aug 2019 17:47:54 +0200 Subject: [PATCH] powerpc/xmon: Add a dump of all XIVE interrupts MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Modify the xmon 'dxi' command to query all interrupts if no IRQ number is specified. Signed-off-by: Cédric Le Goater Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20190814154754.23682-4-clg@kaod.org --- arch/powerpc/xmon/xmon.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 4ea53e05053f..dc9832e06256 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -2584,6 +2584,25 @@ static void dump_one_xive_irq(u32 num) num, target, prio, lirq, rc); } +static void dump_all_xive_irq(void) +{ + unsigned int i; + struct irq_desc *desc; + + for_each_irq_desc(i, desc) { + struct irq_data *d = irq_desc_get_irq_data(desc); + unsigned int hwirq; + + if (!d) + continue; + + hwirq = (unsigned int)irqd_to_hwirq(d); + /* IPIs are special (HW number 0) */ + if (hwirq) + dump_one_xive_irq(hwirq); + } +} + static void dump_xives(void) { unsigned long num; @@ -2601,6 +2620,8 @@ static void dump_xives(void) } else if (c == 'i') { if (scanhex(&num)) dump_one_xive_irq(num); + else + dump_all_xive_irq(); return; } -- 2.30.2