aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/44x_tlb.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-01-08 02:58:02 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 12:35:47 -0300
commit992b5b29b5ae254c416c62faf98d59a6cf970027 (patch)
tree52b4e5a8226261cc936225636d58d9b7e8c46976 /arch/powerpc/kvm/44x_tlb.c
parent8e5b26b55a8b6aee2c789b1d20ec715f9e4bea5c (diff)
downloadkernel_samsung_smdk4412-992b5b29b5ae254c416c62faf98d59a6cf970027.zip
kernel_samsung_smdk4412-992b5b29b5ae254c416c62faf98d59a6cf970027.tar.gz
kernel_samsung_smdk4412-992b5b29b5ae254c416c62faf98d59a6cf970027.tar.bz2
KVM: PPC: Add helpers for CR, XER
We now have helpers for the GPRs, so let's also add some for CR and XER. Having them in the PACA simplifies code a lot, as we don't need to care about where to store CC or not to overflow any integers. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm/44x_tlb.c')
-rw-r--r--arch/powerpc/kvm/44x_tlb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c
index 8b37736..2570fcc 100644
--- a/arch/powerpc/kvm/44x_tlb.c
+++ b/arch/powerpc/kvm/44x_tlb.c
@@ -506,10 +506,12 @@ int kvmppc_44x_emul_tlbsx(struct kvm_vcpu *vcpu, u8 rt, u8 ra, u8 rb, u8 rc)
gtlb_index = kvmppc_44x_tlb_index(vcpu, ea, pid, as);
if (rc) {
+ u32 cr = kvmppc_get_cr(vcpu);
+
if (gtlb_index < 0)
- vcpu->arch.cr &= ~0x20000000;
+ kvmppc_set_cr(vcpu, cr & ~0x20000000);
else
- vcpu->arch.cr |= 0x20000000;
+ kvmppc_set_cr(vcpu, cr | 0x20000000);
}
kvmppc_set_gpr(vcpu, rt, gtlb_index);