diff options
author | Mihai Caraman <mihai.caraman@freescale.com> | 2012-06-24 22:26:19 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-07-11 11:39:37 -0400 |
commit | c7ba7771c3dd01183d3155640129ec7c9707f082 (patch) | |
tree | 06016503d9a838dc6c5832fa0194df24085bc7af /arch/powerpc/kvm | |
parent | 9997782ed5c3d831d23b3252db3af2d83a5aded9 (diff) |
KVM: PPC64: booke: Set interrupt computation mode for 64-bit host
64-bit host needs to remain in 64-bit mode when an exception take place.
Set interrupt computaion mode in EPCR register.
Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r-- | arch/powerpc/kvm/e500mc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index fe6c1de6b701..db97ee3a0827 100644 --- a/arch/powerpc/kvm/e500mc.c +++ b/arch/powerpc/kvm/e500mc.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2010 Freescale Semiconductor, Inc. All rights reserved. | 2 | * Copyright (C) 2010,2012 Freescale Semiconductor, Inc. All rights reserved. |
3 | * | 3 | * |
4 | * Author: Varun Sethi, <varun.sethi@freescale.com> | 4 | * Author: Varun Sethi, <varun.sethi@freescale.com> |
5 | * | 5 | * |
@@ -183,6 +183,9 @@ int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu) | |||
183 | 183 | ||
184 | vcpu->arch.shadow_epcr = SPRN_EPCR_DSIGS | SPRN_EPCR_DGTMI | \ | 184 | vcpu->arch.shadow_epcr = SPRN_EPCR_DSIGS | SPRN_EPCR_DGTMI | \ |
185 | SPRN_EPCR_DUVD; | 185 | SPRN_EPCR_DUVD; |
186 | #ifdef CONFIG_64BIT | ||
187 | vcpu->arch.shadow_epcr |= SPRN_EPCR_ICM; | ||
188 | #endif | ||
186 | vcpu->arch.shadow_msrp = MSRP_UCLEP | MSRP_DEP | MSRP_PMMP; | 189 | vcpu->arch.shadow_msrp = MSRP_UCLEP | MSRP_DEP | MSRP_PMMP; |
187 | vcpu->arch.eplc = EPC_EGS | (vcpu->kvm->arch.lpid << EPC_ELPID_SHIFT); | 190 | vcpu->arch.eplc = EPC_EGS | (vcpu->kvm->arch.lpid << EPC_ELPID_SHIFT); |
188 | vcpu->arch.epsc = vcpu->arch.eplc; | 191 | vcpu->arch.epsc = vcpu->arch.eplc; |