Lines Matching refs:sprn
266 static u32 kvmppc_read_bat(struct kvm_vcpu *vcpu, int sprn)
271 switch (sprn) {
273 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
276 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)];
279 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
282 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)];
288 if (sprn % 2)
294 static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val)
299 switch (sprn) {
301 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
304 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)];
307 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
310 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)];
316 kvmppc_set_bat(vcpu, bat, !(sprn % 2), val);
319 int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
324 switch (sprn) {
341 kvmppc_write_bat(vcpu, sprn, (u32)spr_val);
399 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0] = spr_val;
417 printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn);
427 int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
431 switch (sprn) {
436 kvmppc_set_gpr(vcpu, rt, kvmppc_read_bat(vcpu, sprn));
476 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0]);
494 printk(KERN_INFO "KVM: invalid SPR read: %d\n", sprn);