Lines Matching refs:vmcr
432 void __hyp_text __vgic_v3_write_vmcr(u32 vmcr) in __vgic_v3_write_vmcr() argument
434 write_gicreg(vmcr, ICH_VMCR_EL2); in __vgic_v3_write_vmcr()
456 u32 vmcr, in __vgic_v3_highest_priority_lr() argument
472 if (!(val & ICH_LR_GROUP) && !(vmcr & ICH_VMCR_ENG0_MASK)) in __vgic_v3_highest_priority_lr()
476 if ((val & ICH_LR_GROUP) && !(vmcr & ICH_VMCR_ENG1_MASK)) in __vgic_v3_highest_priority_lr()
547 static unsigned int __hyp_text __vgic_v3_get_bpr0(u32 vmcr) in __vgic_v3_get_bpr0() argument
549 return (vmcr & ICH_VMCR_BPR0_MASK) >> ICH_VMCR_BPR0_SHIFT; in __vgic_v3_get_bpr0()
552 static unsigned int __hyp_text __vgic_v3_get_bpr1(u32 vmcr) in __vgic_v3_get_bpr1() argument
556 if (vmcr & ICH_VMCR_CBPR_MASK) { in __vgic_v3_get_bpr1()
557 bpr = __vgic_v3_get_bpr0(vmcr); in __vgic_v3_get_bpr1()
561 bpr = (vmcr & ICH_VMCR_BPR1_MASK) >> ICH_VMCR_BPR1_SHIFT; in __vgic_v3_get_bpr1()
571 static u8 __hyp_text __vgic_v3_pri_to_pre(u8 pri, u32 vmcr, int grp) in __vgic_v3_pri_to_pre() argument
576 bpr = __vgic_v3_get_bpr0(vmcr) + 1; in __vgic_v3_pri_to_pre()
578 bpr = __vgic_v3_get_bpr1(vmcr); in __vgic_v3_pri_to_pre()
589 static void __hyp_text __vgic_v3_set_active_priority(u8 pri, u32 vmcr, int grp) in __vgic_v3_set_active_priority() argument
595 pre = __vgic_v3_pri_to_pre(pri, vmcr, grp); in __vgic_v3_set_active_priority()
646 static void __hyp_text __vgic_v3_read_iar(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_read_iar() argument
654 lr = __vgic_v3_highest_priority_lr(vcpu, vmcr, &lr_val); in __vgic_v3_read_iar()
661 pmr = (vmcr & ICH_VMCR_PMR_MASK) >> ICH_VMCR_PMR_SHIFT; in __vgic_v3_read_iar()
666 if (__vgic_v3_get_highest_active_priority() <= __vgic_v3_pri_to_pre(lr_prio, vmcr, grp)) in __vgic_v3_read_iar()
674 __vgic_v3_set_active_priority(lr_prio, vmcr, grp); in __vgic_v3_read_iar()
705 u32 vmcr, int rt) in __vgic_v3_write_dir() argument
712 if (!(vmcr & ICH_VMCR_EOIM_MASK)) in __vgic_v3_write_dir()
728 static void __hyp_text __vgic_v3_write_eoir(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_write_eoir() argument
745 if (vmcr & ICH_VMCR_EOIM_MASK) in __vgic_v3_write_eoir()
758 __vgic_v3_pri_to_pre(lr_prio, vmcr, grp) != act_prio) in __vgic_v3_write_eoir()
765 static void __hyp_text __vgic_v3_read_igrpen0(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_read_igrpen0() argument
767 vcpu_set_reg(vcpu, rt, !!(vmcr & ICH_VMCR_ENG0_MASK)); in __vgic_v3_read_igrpen0()
770 static void __hyp_text __vgic_v3_read_igrpen1(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_read_igrpen1() argument
772 vcpu_set_reg(vcpu, rt, !!(vmcr & ICH_VMCR_ENG1_MASK)); in __vgic_v3_read_igrpen1()
775 static void __hyp_text __vgic_v3_write_igrpen0(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_write_igrpen0() argument
780 vmcr |= ICH_VMCR_ENG0_MASK; in __vgic_v3_write_igrpen0()
782 vmcr &= ~ICH_VMCR_ENG0_MASK; in __vgic_v3_write_igrpen0()
784 __vgic_v3_write_vmcr(vmcr); in __vgic_v3_write_igrpen0()
787 static void __hyp_text __vgic_v3_write_igrpen1(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_write_igrpen1() argument
792 vmcr |= ICH_VMCR_ENG1_MASK; in __vgic_v3_write_igrpen1()
794 vmcr &= ~ICH_VMCR_ENG1_MASK; in __vgic_v3_write_igrpen1()
796 __vgic_v3_write_vmcr(vmcr); in __vgic_v3_write_igrpen1()
799 static void __hyp_text __vgic_v3_read_bpr0(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_read_bpr0() argument
801 vcpu_set_reg(vcpu, rt, __vgic_v3_get_bpr0(vmcr)); in __vgic_v3_read_bpr0()
804 static void __hyp_text __vgic_v3_read_bpr1(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_read_bpr1() argument
806 vcpu_set_reg(vcpu, rt, __vgic_v3_get_bpr1(vmcr)); in __vgic_v3_read_bpr1()
809 static void __hyp_text __vgic_v3_write_bpr0(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_write_bpr0() argument
820 vmcr &= ~ICH_VMCR_BPR0_MASK; in __vgic_v3_write_bpr0()
821 vmcr |= val; in __vgic_v3_write_bpr0()
823 __vgic_v3_write_vmcr(vmcr); in __vgic_v3_write_bpr0()
826 static void __hyp_text __vgic_v3_write_bpr1(struct kvm_vcpu *vcpu, u32 vmcr, int rt) in __vgic_v3_write_bpr1() argument
831 if (vmcr & ICH_VMCR_CBPR_MASK) in __vgic_v3_write_bpr1()
840 vmcr &= ~ICH_VMCR_BPR1_MASK; in __vgic_v3_write_bpr1()
841 vmcr |= val; in __vgic_v3_write_bpr1()
843 __vgic_v3_write_vmcr(vmcr); in __vgic_v3_write_bpr1()
869 u32 vmcr, int rt) in __vgic_v3_read_apxr0() argument
875 u32 vmcr, int rt) in __vgic_v3_read_apxr1() argument
881 u32 vmcr, int rt) in __vgic_v3_read_apxr2() argument
887 u32 vmcr, int rt) in __vgic_v3_read_apxr3() argument
893 u32 vmcr, int rt) in __vgic_v3_write_apxr0() argument
899 u32 vmcr, int rt) in __vgic_v3_write_apxr1() argument
905 u32 vmcr, int rt) in __vgic_v3_write_apxr2() argument
911 u32 vmcr, int rt) in __vgic_v3_write_apxr3() argument
917 u32 vmcr, int rt) in __vgic_v3_read_hppir() argument
924 lr = __vgic_v3_highest_priority_lr(vcpu, vmcr, &lr_val); in __vgic_v3_read_hppir()
937 u32 vmcr, int rt) in __vgic_v3_read_pmr() argument
939 vmcr &= ICH_VMCR_PMR_MASK; in __vgic_v3_read_pmr()
940 vmcr >>= ICH_VMCR_PMR_SHIFT; in __vgic_v3_read_pmr()
941 vcpu_set_reg(vcpu, rt, vmcr); in __vgic_v3_read_pmr()
945 u32 vmcr, int rt) in __vgic_v3_write_pmr() argument
951 vmcr &= ~ICH_VMCR_PMR_MASK; in __vgic_v3_write_pmr()
952 vmcr |= val; in __vgic_v3_write_pmr()
954 write_gicreg(vmcr, ICH_VMCR_EL2); in __vgic_v3_write_pmr()
958 u32 vmcr, int rt) in __vgic_v3_read_rpr() argument
965 u32 vmcr, int rt) in __vgic_v3_read_ctlr() argument
979 val |= ((vmcr & ICH_VMCR_EOIM_MASK) >> ICH_VMCR_EOIM_SHIFT) << ICC_CTLR_EL1_EOImode_SHIFT; in __vgic_v3_read_ctlr()
981 val |= (vmcr & ICH_VMCR_CBPR_MASK) >> ICH_VMCR_CBPR_SHIFT; in __vgic_v3_read_ctlr()
987 u32 vmcr, int rt) in __vgic_v3_write_ctlr() argument
992 vmcr |= ICH_VMCR_CBPR_MASK; in __vgic_v3_write_ctlr()
994 vmcr &= ~ICH_VMCR_CBPR_MASK; in __vgic_v3_write_ctlr()
997 vmcr |= ICH_VMCR_EOIM_MASK; in __vgic_v3_write_ctlr()
999 vmcr &= ~ICH_VMCR_EOIM_MASK; in __vgic_v3_write_ctlr()
1001 write_gicreg(vmcr, ICH_VMCR_EL2); in __vgic_v3_write_ctlr()
1008 u32 vmcr; in __vgic_v3_perform_cpuif_access() local
1122 vmcr = __vgic_v3_read_vmcr(); in __vgic_v3_perform_cpuif_access()
1124 fn(vcpu, vmcr, rt); in __vgic_v3_perform_cpuif_access()