From 5082be1389ca358e240c11b2dfacf409464abead Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Sun, 15 Aug 2010 08:39:19 +0200 Subject: [PATCH] --- yaml --- r: 215843 b: refs/heads/master c: 296c19d0b4072dd9594daeec532563e56bddd119 h: refs/heads/master i: 215841: c4b75cf89883c79339910187e526d6c28f5f5309 215839: 9935b60867f45b37d6988b3a7715e56a1bd080eb v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kvm/book3s.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 63730d1794d1..28ca9f2024f6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b6db3bc965c204db6868d4005808b4fdc9c46d7 +refs/heads/master: 296c19d0b4072dd9594daeec532563e56bddd119 diff --git a/trunk/arch/powerpc/kvm/book3s.c b/trunk/arch/powerpc/kvm/book3s.c index 7adea6320654..5833df7e8ccc 100644 --- a/trunk/arch/powerpc/kvm/book3s.c +++ b/trunk/arch/powerpc/kvm/book3s.c @@ -134,10 +134,14 @@ void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr) vcpu->arch.shared->msr = msr; kvmppc_recalc_shadow_msr(vcpu); - if (msr & (MSR_WE|MSR_POW)) { + if (msr & MSR_POW) { if (!vcpu->arch.pending_exceptions) { kvm_vcpu_block(vcpu); vcpu->stat.halt_wakeup++; + + /* Unset POW bit after we woke up */ + msr &= ~MSR_POW; + vcpu->arch.shared->msr = msr; } }