Lines Matching defs:sprn
653 static struct kvmppc_bat *kvmppc_find_bat(struct kvm_vcpu *vcpu, int sprn)
658 switch (sprn) {
660 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
663 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)];
666 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
669 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)];
678 int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val)
682 switch (sprn) {
702 struct kvmppc_bat *bat = kvmppc_find_bat(vcpu, sprn);
704 kvmppc_set_bat(vcpu, bat, !(sprn % 2), (u32)spr_val);
763 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0] = spr_val;
793 (sprn == SPRN_TFHAR))) {
804 if (sprn == SPRN_TFHAR)
806 else if (sprn == SPRN_TEXASR)
846 pr_info_ratelimited("KVM: invalid SPR write: %d\n", sprn);
847 if (sprn & 0x10) {
853 if ((kvmppc_get_msr(vcpu) & MSR_PR) || sprn == 0) {
864 int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)
868 switch (sprn) {
874 struct kvmppc_bat *bat = kvmppc_find_bat(vcpu, sprn);
876 if (sprn % 2)
944 *spr_val = to_book3s(vcpu)->gqr[sprn - SPRN_GQR0];
973 if (sprn == SPRN_TFHAR)
975 else if (sprn == SPRN_TEXASR)
977 else if (sprn == SPRN_TFIAR)
1014 pr_info_ratelimited("KVM: invalid SPR read: %d\n", sprn);
1015 if (sprn & 0x10) {
1021 if ((kvmppc_get_msr(vcpu) & MSR_PR) || sprn == 0 ||
1022 sprn == 4 || sprn == 5 || sprn == 6) {