Lines Matching refs:sprn
341 static struct kvmppc_bat *kvmppc_find_bat(struct kvm_vcpu *vcpu, int sprn) in kvmppc_find_bat() argument
346 switch (sprn) { in kvmppc_find_bat()
348 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2]; in kvmppc_find_bat()
351 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)]; in kvmppc_find_bat()
354 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2]; in kvmppc_find_bat()
357 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)]; in kvmppc_find_bat()
366 int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val) in kvmppc_core_emulate_mtspr_pr() argument
370 switch (sprn) { in kvmppc_core_emulate_mtspr_pr()
390 struct kvmppc_bat *bat = kvmppc_find_bat(vcpu, sprn); in kvmppc_core_emulate_mtspr_pr()
392 kvmppc_set_bat(vcpu, bat, !(sprn % 2), (u32)spr_val); in kvmppc_core_emulate_mtspr_pr()
451 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0] = spr_val; in kvmppc_core_emulate_mtspr_pr()
505 printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn); in kvmppc_core_emulate_mtspr_pr()
515 int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val) in kvmppc_core_emulate_mfspr_pr() argument
519 switch (sprn) { in kvmppc_core_emulate_mfspr_pr()
525 struct kvmppc_bat *bat = kvmppc_find_bat(vcpu, sprn); in kvmppc_core_emulate_mfspr_pr()
527 if (sprn % 2) in kvmppc_core_emulate_mfspr_pr()
595 *spr_val = to_book3s(vcpu)->gqr[sprn - SPRN_GQR0]; in kvmppc_core_emulate_mfspr_pr()
649 printk(KERN_INFO "KVM: invalid SPR read: %d\n", sprn); in kvmppc_core_emulate_mfspr_pr()