mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
KVM: PPC: mmio: Return to guest after emulation failure
If MMIO emulation fails we don't want to crash the whole guest by returning to userspace. The original commitbbf45ba57e("KVM: ppc: PowerPC 440 KVM implementation") added a todo: /* XXX Deliver Program interrupt to guest. */ and later the commitd69614a295("KVM: PPC: Separate loadstore emulation from priv emulation") added the Program interrupt injection but in another file, so I'm assuming it was missed that this block needed to be altered. Also change the message to a ratelimited one since we're letting the guest run and it could flood the host logs. Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220125215655.1026224-5-farosas@linux.ibm.com
This commit is contained in:
committed by
Michael Ellerman
parent
3f83150448
commit
349fbfe9b9
@@ -307,9 +307,9 @@ int kvmppc_emulate_mmio(struct kvm_vcpu *vcpu)
|
||||
u32 last_inst;
|
||||
|
||||
kvmppc_get_last_inst(vcpu, INST_GENERIC, &last_inst);
|
||||
/* XXX Deliver Program interrupt to guest. */
|
||||
pr_emerg("%s: emulation failed (%08x)\n", __func__, last_inst);
|
||||
r = RESUME_HOST;
|
||||
kvm_debug_ratelimited("Guest access to device memory using unsupported instruction (opcode: %#08x)\n",
|
||||
last_inst);
|
||||
r = RESUME_GUEST;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user