Thread (75 messages) 75 messages, 6 authors, 2012-10-08

RE: [RFC PATCH 02/17] KVM: PPC64: booke: Add EPCR support in mtspr/mfspr emulation

flat view

From: Caraman Mihai Claudiu-B02008 <hidden>
Date: 2012-07-04 14:14:13
Also in: kvm

-----Original Message-----
From: kvm-ppc-owner@vger.kernel.org [mailto:kvm-ppc-
owner@vger.kernel.org] On Behalf Of Alexander Graf
Sent: Wednesday, July 04, 2012 4:22 PM
To: Caraman Mihai Claudiu-B02008
Cc: kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; linuxppc-
dev@lists.ozlabs.org; qemu-ppc@nongnu.org
Subject: Re: [RFC PATCH 02/17] KVM: PPC64: booke: Add EPCR support in
mtspr/mfspr emulation
=20
=20
On 25.06.2012, at 14:26, Mihai Caraman wrote:
=20
quoted
Add EPCR support in booke mtspr/mfspr emulation. EPCR register is
defined
quoted
only for 64-bit and HV categories, so it shoud be available only on 64-
bit
quoted
virtual processors. Undefine the support for 32-bit builds.
Define a reusable setter function for vcpu's EPCR.

Signed-off-by: Mihai Caraman <redacted>
---
arch/powerpc/kvm/booke.c         |   12 +++++++++++-
arch/powerpc/kvm/booke.h         |    6 ++++++
arch/powerpc/kvm/booke_emulate.c |   13 ++++++++++++-
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 72f13f4..f9fa260 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -13,7 +13,7 @@
 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
USA.
quoted
 *
 * Copyright IBM Corp. 2007
- * Copyright 2010-2011 Freescale Semiconductor, Inc.
+ * Copyright 2010-2012 Freescale Semiconductor, Inc.
 *
 * Authors: Hollis Blanchard <hollisb@us.ibm.com>
 *          Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
@@ -1243,6 +1243,16 @@ void kvmppc_core_commit_memory_region(struct kvm
*kvm,
quoted
{
}

+#ifdef CONFIG_64BIT
+void kvmppc_set_epcr(struct kvm_vcpu *vcpu, u32 new_epcr)
+{
+	vcpu->arch.epcr =3D new_epcr;
+	vcpu->arch.shadow_epcr &=3D ~SPRN_EPCR_GICM;
+	if (vcpu->arch.epcr  & SPRN_EPCR_ICM)
+		vcpu->arch.shadow_epcr |=3D SPRN_EPCR_GICM;
=20
Why would the setter be #ifdef CONFIG_64BIT? EPCR exists on e500mc too,
no? Please only #ifdef the GICM bits out.
kvmppc_set_epcr deals with guest EPCR and EPCR does not exist on a virtual =
e500mc
as detailed in patch's comment. All callers are also guarded by #ifdef CONF=
IG_64BIT,
my assumption was that we will not support a virtual core with 64-bit categ=
ory
on a 32-bit host.
=20
=20
Alex
=20
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help