On Thu, 2017-10-19 at 00:02 +1100, Michael Ellerman wrote: > Breno Leitao <lei...@debian.org> writes: > > > 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. > > Thanks. I'll merge this. > > But we should also fix it in skiboot.
No that's wrong. xive_enabled() is only set if Linux is using native xive mode but some of those xmon functions dump the emulated state. We should fix the actual cause of the crash. Cheers, Ben. > cheers > > > Suggested-by: Guilherme G. Piccoli <gpicc...@linux.vnet.ibm.com> > > Signed-off-by: Breno Leitao <lei...@debian.org> > > --- > > arch/powerpc/xmon/xmon.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c > > index 4679aeb84767..b34976c4a6ba 100644 > > --- a/arch/powerpc/xmon/xmon.c > > +++ b/arch/powerpc/xmon/xmon.c > > @@ -2508,6 +2508,12 @@ 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(); > > -- > > 2.14.2