Patchwork powerpc/kvm: Fix "PR" KVM implementation of H_CEDE

mail settings
Submitter Benjamin Herrenschmidt
Date July 10, 2012, 8:48 a.m.
Message ID <1341910097.2561.19.camel@pasglop>
Download mbox | patch
Permalink /patch/170084/
State New
Headers show


Benjamin Herrenschmidt - July 10, 2012, 8:48 a.m.
H_CEDE should enable the vcpu's MSR:EE bit. It does on "HV" KVM (it's
burried in the assembly code though) and as far as I can tell, qemu
does it as well.

Signed-off-by: Benjamin Herrenschmidt <>

Alex, you probably want that in -now- (and maybe even in stable).

Without that, bad things happen in guests, especially after Linus pulls
what I'm about to send him to fix more issues with the way pseries
handles H_CEDE vs. lazy IRQ disabling (it will hang in PR KVM without
that fix).

To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to
More majordomo info at


diff --git a/arch/powerpc/kvm/book3s_pr_papr.c b/arch/powerpc/kvm/book3s_pr_papr.c
index 3ff9013..ee02b30 100644
--- a/arch/powerpc/kvm/book3s_pr_papr.c
+++ b/arch/powerpc/kvm/book3s_pr_papr.c
@@ -241,6 +241,7 @@  int kvmppc_h_pr(struct kvm_vcpu *vcpu, unsigned long cmd)
 	case H_PUT_TCE:
 		return kvmppc_h_pr_put_tce(vcpu);
 	case H_CEDE:
+		vcpu->arch.shared->msr |= MSR_EE;
 		clear_bit(KVM_REQ_UNHALT, &vcpu->requests);