Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3766a4c6 authored by Alexander Graf's avatar Alexander Graf
Browse files

KVM: PPC: Move kvm_guest_enter call into generic code



We need to call kvm_guest_enter in booke and book3s, so move its
call to generic code.

Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent bd2be683
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -867,8 +867,6 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
			run->exit_reason = KVM_EXIT_INTR;
			run->exit_reason = KVM_EXIT_INTR;
			r = -EINTR;
			r = -EINTR;
		} else {
		} else {
			/* Going back to guest */
			kvm_guest_enter();
			kvmppc_lazy_ee_enable();
			kvmppc_lazy_ee_enable();
		}
		}
	}
	}
+0 −2
Original line number Original line Diff line number Diff line
@@ -954,8 +954,6 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
			r = (-EINTR << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);
			r = (-EINTR << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);
			kvmppc_account_exit(vcpu, SIGNAL_EXITS);
			kvmppc_account_exit(vcpu, SIGNAL_EXITS);
		} else {
		} else {
			/* Going back to guest */
			kvm_guest_enter();
			kvmppc_lazy_ee_enable();
			kvmppc_lazy_ee_enable();
		}
		}
	}
	}
+3 −0
Original line number Original line Diff line number Diff line
@@ -101,12 +101,15 @@ int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu)
			/* Got an interrupt in between, try again */
			/* Got an interrupt in between, try again */
			local_irq_enable();
			local_irq_enable();
			local_irq_disable();
			local_irq_disable();
			kvm_guest_exit();
			continue;
			continue;
		}
		}


		trace_hardirqs_on();
		trace_hardirqs_on();
#endif
#endif


		kvm_guest_enter();

		/* Going into guest context! Yay! */
		/* Going into guest context! Yay! */
		vcpu->mode = IN_GUEST_MODE;
		vcpu->mode = IN_GUEST_MODE;
		smp_wmb();
		smp_wmb();