aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/kvm_ppc.h
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-01-07 20:58:02 -0500
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 10:35:47 -0500
commit992b5b29b5ae254c416c62faf98d59a6cf970027 (patch)
tree52b4e5a8226261cc936225636d58d9b7e8c46976 /arch/powerpc/include/asm/kvm_ppc.h
parent8e5b26b55a8b6aee2c789b1d20ec715f9e4bea5c (diff)
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/include/asm/kvm_ppc.h')
-rw-r--r--arch/powerpc/include/asm/kvm_ppc.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index ba01b9c1d388..d60b2f0cdcf2 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -108,6 +108,26 @@ static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num)
108 return vcpu->arch.gpr[num]; 108 return vcpu->arch.gpr[num];
109} 109}
110 110
111static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val)
112{
113 vcpu->arch.cr = val;
114}
115
116static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu)
117{
118 return vcpu->arch.cr;
119}
120
121static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val)
122{
123 vcpu->arch.xer = val;
124}
125
126static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu)
127{
128 return vcpu->arch.xer;
129}
130
111#else 131#else
112 132
113static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) 133static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val)
@@ -120,6 +140,26 @@ static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num)
120 return vcpu->arch.gpr[num]; 140 return vcpu->arch.gpr[num];
121} 141}
122 142
143static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val)
144{
145 vcpu->arch.cr = val;
146}
147
148static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu)
149{
150 return vcpu->arch.cr;
151}
152
153static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val)
154{
155 vcpu->arch.xer = val;
156}
157
158static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu)
159{
160 return vcpu->arch.xer;
161}
162
123#endif 163#endif
124 164
125#endif /* __POWERPC_KVM_PPC_H__ */ 165#endif /* __POWERPC_KVM_PPC_H__ */