From: Fabiano Rosas <farosas@linux.ibm.com> To: kvm-ppc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, npiggin@gmail.com, aik@ozlabs.ru Subject: [PATCH v5 4/5] KVM: PPC: mmio: Return to guest after emulation failure Date: Tue, 25 Jan 2022 18:56:54 -0300 [thread overview] Message-ID: <20220125215655.1026224-5-farosas@linux.ibm.com> (raw) In-Reply-To: <20220125215655.1026224-1-farosas@linux.ibm.com> If MMIO emulation fails we don't want to crash the whole guest by returning to userspace. The original commit bbf45ba57eae ("KVM: ppc: PowerPC 440 KVM implementation") added a todo: /* XXX Deliver Program interrupt to guest. */ and later the commit d69614a295ae ("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> --- arch/powerpc/kvm/powerpc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 27fb2b70f631..acb0d2a4bdb9 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -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: -- 2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Fabiano Rosas <farosas@linux.ibm.com> To: kvm-ppc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, npiggin@gmail.com, aik@ozlabs.ru Subject: [PATCH v5 4/5] KVM: PPC: mmio: Return to guest after emulation failure Date: Tue, 25 Jan 2022 21:56:54 +0000 [thread overview] Message-ID: <20220125215655.1026224-5-farosas@linux.ibm.com> (raw) In-Reply-To: <20220125215655.1026224-1-farosas@linux.ibm.com> If MMIO emulation fails we don't want to crash the whole guest by returning to userspace. The original commit bbf45ba57eae ("KVM: ppc: PowerPC 440 KVM implementation") added a todo: /* XXX Deliver Program interrupt to guest. */ and later the commit d69614a295ae ("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> --- arch/powerpc/kvm/powerpc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 27fb2b70f631..acb0d2a4bdb9 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -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: -- 2.34.1
next prev parent reply other threads:[~2022-01-25 22:00 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-25 21:56 [PATCH v5 0/5] KVM: PPC: MMIO fixes Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas 2022-01-25 21:56 ` [PATCH v5 1/5] KVM: PPC: Book3S HV: Stop returning internal values to userspace Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas 2022-01-25 21:56 ` [PATCH v5 2/5] KVM: PPC: Fix vmx/vsx mixup in mmio emulation Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas 2022-01-25 21:56 ` [PATCH v5 3/5] KVM: PPC: mmio: Reject instructions that access more than mmio.data size Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas [this message] 2022-01-25 21:56 ` [PATCH v5 4/5] KVM: PPC: mmio: Return to guest after emulation failure Fabiano Rosas 2022-01-25 21:56 ` [PATCH v5 5/5] KVM: PPC: Book3s: mmio: Deliver DSI " Fabiano Rosas 2022-01-25 21:56 ` Fabiano Rosas 2022-01-27 7:34 ` Nicholas Piggin 2022-01-27 7:34 ` Nicholas Piggin 2022-02-16 13:04 ` [PATCH v5 0/5] KVM: PPC: MMIO fixes Michael Ellerman 2022-02-16 13:04 ` Michael Ellerman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220125215655.1026224-5-farosas@linux.ibm.com \ --to=farosas@linux.ibm.com \ --cc=aik@ozlabs.ru \ --cc=kvm-ppc@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=npiggin@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.