The comment for program interrupts triggered when using bookehv was
misleading. Update it to mention why MSR_GS indicates that we have
to inject an interrupt into the guest again, not emulate it.

Signed-off-by: Alexander Graf <ag...@suse.de>
---
 arch/powerpc/kvm/booke.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 451ba16..7adef28 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -683,8 +683,14 @@ int kvmppc_handle_exit(struct kvm_run *run, struct 
kvm_vcpu *vcpu,
 
        case BOOKE_INTERRUPT_PROGRAM:
                if (vcpu->arch.shared->msr & (MSR_PR | MSR_GS)) {
-                       /* Program traps generated by user-level software must 
be handled
-                        * by the guest kernel. */
+                       /*
+                        * Program traps generated by user-level software must
+                        * be handled by the guest kernel.
+                        *
+                        * In GS mode, hypervisor privileged instructions trap
+                        * on BOOKE_INTERRUPT_HV_PRIV, not here, so these are
+                        * actual program interrupts, handled by the guest.
+                        */
                        kvmppc_core_queue_program(vcpu, vcpu->arch.fault_esr);
                        r = RESUME_GUEST;
                        kvmppc_account_exit(vcpu, USR_PR_INST);
-- 
1.6.0.2

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to