[RFC PATCH 02/17] KVM: PPC64: booke: Add EPCR support in mtspr/mfspr emulation
Alexander Graf
agraf at suse.de
Wed Jul 4 23:21:45 EST 2012
On 25.06.2012, at 14:26, Mihai Caraman wrote:
> Add EPCR support in booke mtspr/mfspr emulation. EPCR register is defined
> only for 64-bit and HV categories, so it shoud be available only on 64-bit
> virtual processors. Undefine the support for 32-bit builds.
> Define a reusable setter function for vcpu's EPCR.
>
> Signed-off-by: Mihai Caraman <mihai.caraman at freescale.com>
> ---
> 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.
> *
> * Copyright IBM Corp. 2007
> - * Copyright 2010-2011 Freescale Semiconductor, Inc.
> + * Copyright 2010-2012 Freescale Semiconductor, Inc.
> *
> * Authors: Hollis Blanchard <hollisb at us.ibm.com>
> * Christian Ehrhardt <ehrhardt at linux.vnet.ibm.com>
> @@ -1243,6 +1243,16 @@ void kvmppc_core_commit_memory_region(struct kvm *kvm,
> {
> }
>
> +#ifdef CONFIG_64BIT
> +void kvmppc_set_epcr(struct kvm_vcpu *vcpu, u32 new_epcr)
> +{
> + vcpu->arch.epcr = new_epcr;
> + vcpu->arch.shadow_epcr &= ~SPRN_EPCR_GICM;
> + if (vcpu->arch.epcr & SPRN_EPCR_ICM)
> + vcpu->arch.shadow_epcr |= SPRN_EPCR_GICM;
Why would the setter be #ifdef CONFIG_64BIT? EPCR exists on e500mc too, no? Please only #ifdef the GICM bits out.
Alex
More information about the Linuxppc-dev
mailing list