On 05/08/2012 05:40 AM, Alexander Graf wrote: > > On 15.03.2012, at 21:52, Stuart Yoder wrote: > >> From: Liu Yu-B13201 <Yu.Liu@xxxxxxxxxxxxx> >> >> And add a new flag definition in kvm_ppc_pvinfo to indicate >> whether the host supports the EV_IDLE hcall. >> >> Signed-off-by: Liu Yu <yu.liu@xxxxxxxxxxxxx> >> [stuart.yoder@xxxxxxxxxxxxx: cleanup,fixes for conditions allowing idle] >> Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> >> --- >> -v10: >> -ePAPR definitions now addressed in separate patch >> -move clearing of KVM_REQ_UNHALT after kvm_vcpu_block() call >> >> arch/powerpc/include/asm/Kbuild | 1 + >> arch/powerpc/kvm/powerpc.c | 20 +++++++++++++++++--- >> include/linux/kvm.h | 2 ++ >> 3 files changed, 20 insertions(+), 3 deletions(-) >> >> diff --git a/arch/powerpc/include/asm/Kbuild b/arch/powerpc/include/asm/Kbuild >> index 7e313f1..13d6b7b 100644 >> --- a/arch/powerpc/include/asm/Kbuild >> +++ b/arch/powerpc/include/asm/Kbuild >> @@ -34,5 +34,6 @@ header-y += termios.h >> header-y += types.h >> header-y += ucontext.h >> header-y += unistd.h >> +header-y += epapr_hcalls.h >> >> generic-y += rwsem.h >> diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c >> index d738626..7c4e5cc 100644 >> --- a/arch/powerpc/kvm/powerpc.c >> +++ b/arch/powerpc/kvm/powerpc.c >> @@ -38,8 +38,7 @@ >> >> int kvm_arch_vcpu_runnable(struct kvm_vcpu *v) >> { >> - return !(v->arch.shared->msr & MSR_WE) || >> - !!(v->arch.pending_exceptions) || >> + return !!(v->arch.pending_exceptions) || > > Are you sure this doesn't break book3s or e500v2? It's only used inside kvm_vcpu_block(). We only call kvm_vcpu_block() if there's a request to go idle (MSR[WE], hcall, etc), and MSR[WE] can't be cleared except via exception or userspace. Exceptions are already checked for in runnable(), and an exit to userspace would exit kvm_vcpu_block(). -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html