linux/arch/powerpc
Nicholas Piggin 6de6638b35 KVM: PPC: Book3S HV: Handle host system reset in guest mode
If the host takes a system reset interrupt while a guest is running,
the CPU must exit the guest before processing the host exception
handler.

After this patch, taking a sysrq+x with a CPU running in a guest
gives a trace like this:

   cpu 0x27: Vector: 100 (System Reset) at [c000000fdf5776f0]
       pc: c008000010158b80: kvmppc_run_core+0x16b8/0x1ad0 [kvm_hv]
       lr: c008000010158b80: kvmppc_run_core+0x16b8/0x1ad0 [kvm_hv]
       sp: c000000fdf577850
      msr: 9000000002803033
     current = 0xc000000fdf4b1e00
     paca    = 0xc00000000fd4d680	 softe: 3	 irq_happened: 0x01
       pid   = 6608, comm = qemu-system-ppc
   Linux version 4.14.0-rc7-01489-g47e1893a404a-dirty #26 SMP
   [c000000fdf577a00] c008000010159dd4 kvmppc_vcpu_run_hv+0x3dc/0x12d0 [kvm_hv]
   [c000000fdf577b30] c0080000100a537c kvmppc_vcpu_run+0x44/0x60 [kvm]
   [c000000fdf577b60] c0080000100a1ae0 kvm_arch_vcpu_ioctl_run+0x118/0x310 [kvm]
   [c000000fdf577c00] c008000010093e98 kvm_vcpu_ioctl+0x530/0x7c0 [kvm]
   [c000000fdf577d50] c000000000357bf8 do_vfs_ioctl+0xd8/0x8c0
   [c000000fdf577df0] c000000000358448 SyS_ioctl+0x68/0x100
   [c000000fdf577e30] c00000000000b220 system_call+0x58/0x6c
   --- Exception: c01 (System Call) at 00007fff76868df0
   SP (7fff7069baf0) is in userspace

Fixes: e36d0a2ed5 ("powerpc/powernv: Implement NMI IPI with OPAL_SIGNAL_SYSTEM_RESET")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-11-06 16:48:06 +11:00
..
boot powerpc: dts: acadia: DT fix s/#interrupts-parent/#interrupt-parent/ 2017-10-22 12:08:31 +02:00
configs powerpc/configs: Enable I2C_CHARDEV for pseries and powernv 2017-10-22 12:08:31 +02:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2017-05-02 15:53:46 -07:00
include KVM: PPC: Book3S HV: Handle host system reset in guest mode 2017-11-06 16:48:06 +11:00
kernel KVM: PPC: Book3S HV: Handle host system reset in guest mode 2017-11-06 16:48:06 +11:00
kvm KVM: PPC: Book3S HV: Handle host system reset in guest mode 2017-11-06 16:48:06 +11:00
lib powerpc/lib/sstep: Fix fixed-point shift instructions that set CA32 2017-10-04 11:28:04 +11:00
math-emu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mm powerpc/mm/radix: Drop unneeded NULL check 2017-10-22 12:08:31 +02:00
net powerpc updates for 4.14 2017-09-07 10:15:40 -07:00
oprofile powerpc/oprofile: Use setup_timer() helper 2017-10-04 11:28:01 +11:00
perf powerpc/perf/hv-24x7: Fix incorrect comparison in memord 2017-10-22 12:08:31 +02:00
platforms powerpc/pseries: Cleanup error handling in iommu_pseries_alloc_group() 2017-10-22 12:16:36 +02:00
purgatory powerpc/asm: Convert .llong directives to .8byte 2017-08-31 14:26:47 +10:00
sysdev powerpc/axonram: Drop unnecessary variable initialisation 2017-10-22 12:08:31 +02:00
tools powerpc/64: Tool to check head sections location sanity 2017-05-30 14:59:51 +10:00
xmon powerpc/xmon: Add kstack base to paca dump 2017-10-22 12:08:31 +02:00
Kconfig powerpc updates for 4.14 2017-09-07 10:15:40 -07:00
Kconfig.debug powerpc: Disable the fast-endian switch syscall by default 2017-10-22 12:08:31 +02:00
Makefile Merge branch 'fixes' into next 2017-08-23 22:20:10 +10:00
Makefile.postlink powerpc/64: Tool to check head sections location sanity 2017-05-30 14:59:51 +10:00