OSDN Git Service

KVM: PPC: Book3S HV: Fix kvmppc_bad_host_intr for real mode interrupts
authorNicholas Piggin <npiggin@gmail.com>
Thu, 17 May 2018 17:49:43 +0000 (03:49 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 18 May 2018 05:38:23 +0000 (15:38 +1000)
commiteadce3b48b5a8ffec7c8abbd4950a501c91d2515
treefd0eb8ced43ffe9c3ada0a5dc09bbddead818f2c
parent878cf2bb2d8d6164df7b63b2239859f99fea212a
KVM: PPC: Book3S HV: Fix kvmppc_bad_host_intr for real mode interrupts

When CONFIG_RELOCATABLE=n, the Linux real mode interrupt handlers call
into KVM using real address. This needs to be translated to the kernel
linear effective address before the MMU is switched on.

kvmppc_bad_host_intr misses adding these bits, so when it is used to
handle a system reset interrupt (that always gets delivered in real
mode), it results in an instruction access fault immediately after
the MMU is turned on.

Fix this by ensuring the top 2 address bits are set when the MMU is
turned on.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_hv_rmhandlers.S