[3.13.y.z extended stable] Patch "KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Thu May 1 19:17:26 UTC 2014

This is a note to let you know that I have just added a patch titled

    KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:


This patch is scheduled to be released in version

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see



>From 36fdcf90e050cf8964a243d6279bf24d798af415 Mon Sep 17 00:00:00 2001
From: Anton Blanchard <anton at samba.org>
Date: Tue, 25 Mar 2014 10:47:01 +1100
Subject: KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n

commit 7505258c5fcb0a1cc3c76a47b4cf9506d21d10e6 upstream.

I noticed KVM is broken when KVM in-kernel XICS emulation
(CONFIG_KVM_XICS) is disabled.

The problem was introduced in 48eaef05 (KVM: PPC: Book3S HV: use
xics_wake_cpu only when defined). It used CONFIG_KVM_XICS to wrap
xics_wake_cpu, where CONFIG_PPC_ICP_NATIVE should have been

Signed-off-by: Anton Blanchard <anton at samba.org>
Signed-off-by: Paul Mackerras <paulus at samba.org>
Acked-by: Scott Wood <scottwood at freescale.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
 arch/powerpc/kvm/book3s_hv.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index edeac10..992b089 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -85,7 +85,7 @@ static void kvmppc_fast_vcpu_kick_hv(struct kvm_vcpu *vcpu)

 	/* CPU points to the first thread of the core */
 	if (cpu != me && cpu >= 0 && cpu < nr_cpu_ids) {
 		int real_cpu = cpu + vcpu->arch.ptid;
 		if (paca[real_cpu].kvm_hstate.xics_phys)
@@ -1192,9 +1192,7 @@ static void kvmppc_start_thread(struct kvm_vcpu *vcpu)
 #if defined(CONFIG_PPC_ICP_NATIVE) && defined(CONFIG_SMP)
 	if (vcpu->arch.ptid) {

More information about the kernel-team mailing list