On Fri, Sep 01, 2017 at 04:19:13PM +1000, Paul Mackerras wrote: > At present, if an interrupt (i.e. an exception or trap) occurs in the > code where KVM is switching the MMU to or from guest context, we jump > to kvmppc_bad_host_intr, where we simply spin with interrupts disabled. > In this situation, it is hard to debug what happened because we get no > indication as to which interrupt occurred or where. Typically we get > a cascade of stall and soft lockup warnings from other CPUs. > > In order to get more information for debugging, this adds code to > create a stack frame on the emergency stack and save register values > to it. We start half-way down the emergency stack in order to give > ourselves some chance of being able to do a stack trace on secondary > threads that are already on the emergency stack. > > On POWER7 or POWER8, we then just spin, as before, because we don't > know what state the MMU context is in or what other threads are doing, > and we can't switch back to host context without coordinating with > other threads. On POWER9 we can do better; there we load up the host > MMU context and jump to C code, which prints an oops message to the > console and panics. > > Signed-off-by: Paul Mackerras <paulus@xxxxxxxxxx> Applied to my kvm-ppc-next branch. Paul.