powerpc/xmon: Check before calling xive functions

Currently xmon could call XIVE functions from OPAL even if the XIVE is
disabled or does not exist in the system, as in POWER8 machines. This
causes the following exception:

 1:mon> dx
 cpu 0x1: Vector: 700 (Program Check) at [c000000423c93450]
     pc: c00000000009cfa4: opal_xive_dump+0x50/0x68
     lr: c0000000000997b8: opal_return+0x0/0x50

This patch simply checks if XIVE is enabled before calling XIVE
functions.

Fixes: 243e25112d ("powerpc/xive: Native exploitation of the XIVE interrupt controller")
Suggested-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Breno Leitao 2017-10-17 16:20:18 -02:00 committed by Michael Ellerman
parent 1cafc62940
commit 402e172a2c

View File

@ -2508,6 +2508,11 @@ static void dump_xives(void)
unsigned long num;
int c;
if (!xive_enabled()) {
printf("Xive disabled on this system\n");
return;
}
c = inchar();
if (c == 'a') {
dump_all_xives();