aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/xive/xive-internal.h
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2019-08-14 17:47:53 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2019-08-19 13:20:24 +1000
commitb4868ff55d082bc66b0c287a41e4888f6d3e5f87 (patch)
tree1433205cf4e23a07497bebeacac7ec7b599822ca /arch/powerpc/sysdev/xive/xive-internal.h
parentpowerpc/xmon: Check for HV mode when dumping XIVE info from OPAL (diff)
downloadlinux-dev-b4868ff55d082bc66b0c287a41e4888f6d3e5f87.tar.xz
linux-dev-b4868ff55d082bc66b0c287a41e4888f6d3e5f87.zip
powerpc/xive: Fix dump of XIVE interrupt under pseries
The xmon 'dxi' command calls OPAL to query the XIVE configuration of a interrupt. This can only be done on baremetal (PowerNV) and it will crash a pseries machine. Introduce a new XIVE get_irq_config() operation which implements a different query depending on the platform, PowerNV or pseries, and modify xmon to use a top level wrapper. 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/20190814154754.23682-3-clg@kaod.org
Diffstat (limited to '')
-rw-r--r--arch/powerpc/sysdev/xive/xive-internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/xive/xive-internal.h b/arch/powerpc/sysdev/xive/xive-internal.h
index 211725dbf364..59cd366e7933 100644
--- a/arch/powerpc/sysdev/xive/xive-internal.h
+++ b/arch/powerpc/sysdev/xive/xive-internal.h
@@ -33,6 +33,8 @@ struct xive_cpu {
struct xive_ops {
int (*populate_irq_data)(u32 hw_irq, struct xive_irq_data *data);
int (*configure_irq)(u32 hw_irq, u32 target, u8 prio, u32 sw_irq);
+ int (*get_irq_config)(u32 hw_irq, u32 *target, u8 *prio,
+ u32 *sw_irq);
int (*setup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
void (*cleanup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
void (*setup_cpu)(unsigned int cpu, struct xive_cpu *xc);