public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PULL 0/3] PPC BookE patches
@ 2010-10-10 10:44 Alexander Graf
  2010-10-10 10:44 ` [PATCH 1/3] KVM: PPC: BookE: Load the lower half of MSR Alexander Graf
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Alexander Graf @ 2010-10-10 10:44 UTC (permalink / raw)
  To: kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org list
  Cc: kvm-ppc-u79uwXL29TY76Z2rM5mHXA, Scott Wood

Hi Marcelo / Avi,

Scott has found some bugs in the BookE implementation of KVM, so please pull
the fixes for them to the kvm tree.

The following changes since commit 3c4504636ab1ff41ec162980bf85121aee14e58f:
  Huang Ying (1):
        KVM: MCE: Send SRAR SIGBUS directly

are available in the git repository at:

  git://github.com/agraf/linux-2.6.git kvm-ppc-next

Scott Wood (3):
      KVM: PPC: BookE: Load the lower half of MSR
      KVM: PPC: BookE: fix sleep with interrupts disabled
      KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit().

 arch/powerpc/kvm/booke_interrupts.S |    2 +-
 arch/powerpc/kvm/e500.c             |    2 +-
 arch/powerpc/kvm/timing.c           |    2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] KVM: PPC: BookE: Load the lower half of MSR
  2010-10-10 10:44 [PULL 0/3] PPC BookE patches Alexander Graf
@ 2010-10-10 10:44 ` Alexander Graf
  2010-10-10 10:44 ` [PATCH 2/3] KVM: PPC: BookE: fix sleep with interrupts disabled Alexander Graf
       [not found] ` <1286707477-24676-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
  2 siblings, 0 replies; 5+ messages in thread
From: Alexander Graf @ 2010-10-10 10:44 UTC (permalink / raw)
  To: kvm@vger.kernel.org list; +Cc: kvm-ppc, Scott Wood

From: Scott Wood <scottwood@freescale.com>

This was preventing the guest from setting any bits in the
hardware MSR which aren't forced on, such as MSR[SPE].

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/booke_interrupts.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kvm/booke_interrupts.S b/arch/powerpc/kvm/booke_interrupts.S
index 0498469..1cc471f 100644
--- a/arch/powerpc/kvm/booke_interrupts.S
+++ b/arch/powerpc/kvm/booke_interrupts.S
@@ -416,7 +416,7 @@ lightweight_exit:
 	lwz	r3, VCPU_PC(r4)
 	mtsrr0	r3
 	lwz	r3, VCPU_SHARED(r4)
-	lwz	r3, VCPU_SHARED_MSR(r3)
+	lwz	r3, (VCPU_SHARED_MSR + 4)(r3)
 	oris	r3, r3, KVMPPC_MSR_MASK@h
 	ori	r3, r3, KVMPPC_MSR_MASK@l
 	mtsrr1	r3
-- 
1.6.0.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] KVM: PPC: BookE: fix sleep with interrupts disabled
  2010-10-10 10:44 [PULL 0/3] PPC BookE patches Alexander Graf
  2010-10-10 10:44 ` [PATCH 1/3] KVM: PPC: BookE: Load the lower half of MSR Alexander Graf
@ 2010-10-10 10:44 ` Alexander Graf
       [not found] ` <1286707477-24676-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
  2 siblings, 0 replies; 5+ messages in thread
From: Alexander Graf @ 2010-10-10 10:44 UTC (permalink / raw)
  To: kvm@vger.kernel.org list; +Cc: kvm-ppc, Scott Wood

From: Scott Wood <scottwood@freescale.com>

It is not legal to call mutex_lock() with interrupts disabled.
This will assert with debug checks enabled.

If there's a real need to disable interrupts here, it could be done
after the mutex is acquired -- but I don't see why it's needed at all.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/timing.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c
index 46fa04f..a021f58 100644
--- a/arch/powerpc/kvm/timing.c
+++ b/arch/powerpc/kvm/timing.c
@@ -35,7 +35,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu)
 	int i;
 
 	/* pause guest execution to avoid concurrent updates */
-	local_irq_disable();
 	mutex_lock(&vcpu->mutex);
 
 	vcpu->arch.last_exit_type = 0xDEAD;
@@ -51,7 +50,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu)
 	vcpu->arch.timing_last_enter.tv64 = 0;
 
 	mutex_unlock(&vcpu->mutex);
-	local_irq_enable();
 }
 
 static void add_exit_timing(struct kvm_vcpu *vcpu, u64 duration, int type)
-- 
1.6.0.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit().
       [not found] ` <1286707477-24676-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
@ 2010-10-10 10:44   ` Alexander Graf
  2010-10-14 16:07   ` [PULL 0/3] PPC BookE patches Avi Kivity
  1 sibling, 0 replies; 5+ messages in thread
From: Alexander Graf @ 2010-10-10 10:44 UTC (permalink / raw)
  To: kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org list
  Cc: kvm-ppc-u79uwXL29TY76Z2rM5mHXA, Scott Wood

From: Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org>

The VCPU uninit calls some TLB functions, and the TLB uninit function
frees the memory used by them.

Signed-off-by: Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Acked-by: Liu Yu <yu.liu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Signed-off-by: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
---
 arch/powerpc/kvm/e500.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kvm/e500.c b/arch/powerpc/kvm/e500.c
index 71750f2..e3768ee 100644
--- a/arch/powerpc/kvm/e500.c
+++ b/arch/powerpc/kvm/e500.c
@@ -138,8 +138,8 @@ void kvmppc_core_vcpu_free(struct kvm_vcpu *vcpu)
 	struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);
 
 	free_page((unsigned long)vcpu->arch.shared);
-	kvmppc_e500_tlb_uninit(vcpu_e500);
 	kvm_vcpu_uninit(vcpu);
+	kvmppc_e500_tlb_uninit(vcpu_e500);
 	kmem_cache_free(kvm_vcpu_cache, vcpu_e500);
 }
 
-- 
1.6.0.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PULL 0/3] PPC BookE patches
       [not found] ` <1286707477-24676-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
  2010-10-10 10:44   ` [PATCH 3/3] KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit() Alexander Graf
@ 2010-10-14 16:07   ` Avi Kivity
  1 sibling, 0 replies; 5+ messages in thread
From: Avi Kivity @ 2010-10-14 16:07 UTC (permalink / raw)
  To: Alexander Graf
  Cc: kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org list,
	kvm-ppc-u79uwXL29TY76Z2rM5mHXA, Scott Wood

  On 10/10/2010 12:44 PM, Alexander Graf wrote:
> Hi Marcelo / Avi,
>
> Scott has found some bugs in the BookE implementation of KVM, so please pull
> the fixes for them to the kvm tree.
>
> The following changes since commit 3c4504636ab1ff41ec162980bf85121aee14e58f:
>    Huang Ying (1):
>          KVM: MCE: Send SRAR SIGBUS directly
>
> are available in the git repository at:
>
>    git://github.com/agraf/linux-2.6.git kvm-ppc-next
>
> Scott Wood (3):
>        KVM: PPC: BookE: Load the lower half of MSR
>        KVM: PPC: BookE: fix sleep with interrupts disabled
>        KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit().
>

Pulled, thanks.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-10-14 16:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-10 10:44 [PULL 0/3] PPC BookE patches Alexander Graf
2010-10-10 10:44 ` [PATCH 1/3] KVM: PPC: BookE: Load the lower half of MSR Alexander Graf
2010-10-10 10:44 ` [PATCH 2/3] KVM: PPC: BookE: fix sleep with interrupts disabled Alexander Graf
     [not found] ` <1286707477-24676-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-10-10 10:44   ` [PATCH 3/3] KVM: PPC: e500: Call kvm_vcpu_uninit() before kvmppc_e500_tlb_uninit() Alexander Graf
2010-10-14 16:07   ` [PULL 0/3] PPC BookE patches Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox