Lines Matching refs:sys_reg_desc
47 static u64 sys_reg_to_index(const struct sys_reg_desc *reg);
48 static int set_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd,
52 const struct sys_reg_desc *r) in undef_access()
60 const struct sys_reg_desc *r, in bad_trap()
70 const struct sys_reg_desc *r) in read_from_write_only()
78 const struct sys_reg_desc *r) in write_to_read_only()
319 const struct sys_reg_desc *r) in access_rw()
334 const struct sys_reg_desc *r) in access_dcsw()
354 const struct sys_reg_desc *r) in access_dcgsw()
363 static void get_access_mask(const struct sys_reg_desc *r, u64 *mask, u64 *shift) in get_access_mask()
388 const struct sys_reg_desc *r) in access_vm_reg()
417 const struct sys_reg_desc *r) in access_actlr()
438 const struct sys_reg_desc *r) in access_gic_sgi()
486 const struct sys_reg_desc *r) in access_gic_sre()
500 const struct sys_reg_desc *r) in trap_raz_wi()
516 const struct sys_reg_desc *r) in trap_loregion()
531 const struct sys_reg_desc *r) in trap_oslar_el1()
549 const struct sys_reg_desc *r) in trap_oslsr_el1()
558 static int set_oslsr_el1(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_oslsr_el1()
574 const struct sys_reg_desc *r) in trap_dbgauthstatus_el1()
613 const struct sys_reg_desc *r) in trap_debug_regs()
635 const struct sys_reg_desc *rd, in reg_to_dbg()
652 const struct sys_reg_desc *rd, in dbg_to_reg()
663 const struct sys_reg_desc *rd) in trap_bvr()
677 static int set_bvr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_bvr()
684 static int get_bvr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_bvr()
692 const struct sys_reg_desc *rd) in reset_bvr()
700 const struct sys_reg_desc *rd) in trap_bcr()
714 static int set_bcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_bcr()
721 static int get_bcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_bcr()
729 const struct sys_reg_desc *rd) in reset_bcr()
737 const struct sys_reg_desc *rd) in trap_wvr()
752 static int set_wvr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_wvr()
759 static int get_wvr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_wvr()
767 const struct sys_reg_desc *rd) in reset_wvr()
775 const struct sys_reg_desc *rd) in trap_wcr()
789 static int set_wcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_wcr()
796 static int get_wcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_wcr()
804 const struct sys_reg_desc *rd) in reset_wcr()
810 static u64 reset_amair_el1(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_amair_el1()
817 static u64 reset_actlr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_actlr()
824 static u64 reset_mpidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_mpidr()
845 const struct sys_reg_desc *r) in pmu_visibility()
853 static u64 reset_pmu_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmu_reg()
867 static u64 reset_pmevcntr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmevcntr()
875 static u64 reset_pmevtyper(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmevtyper()
887 static u64 reset_pmselr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmselr()
895 static u64 reset_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmcr()
943 const struct sys_reg_desc *r) in access_pmcr()
972 const struct sys_reg_desc *r) in access_pmselr()
988 const struct sys_reg_desc *r) in access_pmceid()
1022 static int get_pmu_evcntr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in get_pmu_evcntr()
1040 const struct sys_reg_desc *r) in access_pmu_evcntr()
1092 const struct sys_reg_desc *r) in access_pmu_evtyper()
1127 static int set_pmreg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, u64 val) in set_pmreg()
1152 static int get_pmreg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, u64 *val) in get_pmreg()
1161 const struct sys_reg_desc *r) in access_pmcnten()
1189 const struct sys_reg_desc *r) in access_pminten()
1213 const struct sys_reg_desc *r) in access_pmovs()
1235 const struct sys_reg_desc *r) in access_pmswinc()
1251 const struct sys_reg_desc *r) in access_pmuserenr()
1267 static int get_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in get_pmcr()
1274 static int set_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in set_pmcr()
1346 const struct sys_reg_desc *rd) in ptrauth_visibility()
1367 const struct sys_reg_desc *r) in access_arch_timer()
1447 const struct sys_reg_desc *rd, in arm64_check_features()
1514 const struct sys_reg_desc *r) in __kvm_read_sanitised_id_reg()
1573 const struct sys_reg_desc *r) in kvm_read_sanitised_id_reg()
1578 static u64 read_id_reg(const struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in read_id_reg()
1619 const struct sys_reg_desc *r) in id_visibility()
1634 const struct sys_reg_desc *r) in aa32_id_visibility()
1648 const struct sys_reg_desc *r) in raz_visibility()
1657 const struct sys_reg_desc *r) in access_id_reg()
1669 const struct sys_reg_desc *rd) in sve_visibility()
1678 const struct sys_reg_desc *rd) in sme_visibility()
1687 const struct sys_reg_desc *rd) in fp8_visibility()
1696 const struct sys_reg_desc *rd) in read_sanitised_id_aa64pfr0_el1()
1741 const struct sys_reg_desc *rd) in read_sanitised_id_aa64dfr0_el1()
1762 const struct sys_reg_desc *rd, in set_id_aa64dfr0_el1()
1796 const struct sys_reg_desc *rd) in read_sanitised_id_dfr0_el1()
1811 const struct sys_reg_desc *rd, in set_id_dfr0_el1()
1844 static int get_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_id_reg()
1863 static int set_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_id_reg()
1915 static int get_raz_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_raz_reg()
1922 static int set_wi_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_wi_reg()
1929 const struct sys_reg_desc *r) in access_ctr()
1939 const struct sys_reg_desc *r) in access_clidr()
1952 static u64 reset_clidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_clidr()
2004 static int set_clidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_clidr()
2019 const struct sys_reg_desc *r) in access_csselr()
2031 const struct sys_reg_desc *r) in access_ccsidr()
2047 const struct sys_reg_desc *rd) in mte_visibility()
2064 const struct sys_reg_desc *rd) in el2_visibility()
2074 const struct sys_reg_desc *r) in bad_vncr_trap()
2087 const struct sys_reg_desc *r) in bad_redir_trap()
2183 const struct sys_reg_desc *r) in access_sp_el1()
2195 const struct sys_reg_desc *r) in access_elr()
2207 const struct sys_reg_desc *r) in access_spsr()
2219 const struct sys_reg_desc *r) in access_cntkctl_el12()
2229 static u64 reset_hcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_hcr()
2240 const struct sys_reg_desc *rd) in sve_el2_visibility()
2253 const struct sys_reg_desc *r) in access_zcr_el2()
2274 const struct sys_reg_desc *rd) in s1poe_visibility()
2293 static const struct sys_reg_desc sys_reg_descs[] = {
2876 const struct sys_reg_desc *r) in handle_at_s1e01()
2886 const struct sys_reg_desc *r) in handle_at_s1e2()
2903 const struct sys_reg_desc *r) in handle_at_s12()
2929 const struct sys_reg_desc *r) in handle_alle1is()
3021 const struct sys_reg_desc *r) in handle_vmalls12e1is()
3045 const struct sys_reg_desc *r) in handle_ripas2e1is()
3120 const struct sys_reg_desc *r) in handle_ipas2e1is()
3146 const struct sys_reg_desc *r) in handle_tlbi_el1()
3187 static struct sys_reg_desc sys_insn_descs[] = {
3357 const struct sys_reg_desc *r) in trap_dbgdidr()
3401 static const struct sys_reg_desc cp14_regs[] = {
3486 static const struct sys_reg_desc cp14_64_regs[] = {
3515 static const struct sys_reg_desc cp15_regs[] = {
3684 static const struct sys_reg_desc cp15_64_regs[] = {
3696 static bool check_sysreg_table(const struct sys_reg_desc *table, unsigned int n, in check_sysreg_table()
3726 const struct sys_reg_desc *r) in perform_access()
3760 const struct sys_reg_desc *table, in emulate_cp()
3763 const struct sys_reg_desc *r; in emulate_cp()
3811 const struct sys_reg_desc *global, in kvm_handle_cp_64()
3981 const struct sys_reg_desc *global, in kvm_handle_cp_32()
4045 const struct sys_reg_desc *r; in emulate_sys_reg()
4061 static const struct sys_reg_desc *idregs_debug_find(struct kvm *kvm, u8 pos) in idregs_debug_find()
4066 const struct sys_reg_desc *r = &sys_reg_descs[i]; in idregs_debug_find()
4133 const struct sys_reg_desc *desc; in idregs_debug_show()
4164 static void reset_vm_ftr_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *reg) in reset_vm_ftr_id_reg()
4176 const struct sys_reg_desc *reg) in reset_vcpu_ftr_id_reg()
4197 const struct sys_reg_desc *r = &sys_reg_descs[i]; in kvm_reset_sys_regs()
4220 const struct sys_reg_desc *desc = NULL; in kvm_handle_sys_reg()
4283 const struct sys_reg_desc *get_reg_by_id(u64 id, in get_reg_by_id()
4284 const struct sys_reg_desc table[], in get_reg_by_id()
4296 static const struct sys_reg_desc *
4298 const struct sys_reg_desc table[], unsigned int num) in id_to_sys_reg_desc()
4301 const struct sys_reg_desc *r; in id_to_sys_reg_desc()
4326 const struct sys_reg_desc *r) \
4328 ((struct sys_reg_desc *)r)->val = read_sysreg(reg); \
4329 return ((struct sys_reg_desc *)r)->val; \
4337 static struct sys_reg_desc invariant_sys_regs[] __ro_after_init = {
4345 const struct sys_reg_desc *r; in get_invariant_sys_reg()
4357 const struct sys_reg_desc *r; in set_invariant_sys_reg()
4429 const struct sys_reg_desc table[], unsigned int num) in kvm_sys_reg_get_user()
4432 const struct sys_reg_desc *r; in kvm_sys_reg_get_user()
4470 const struct sys_reg_desc table[], unsigned int num) in kvm_sys_reg_set_user()
4473 const struct sys_reg_desc *r; in kvm_sys_reg_set_user()
4532 static u64 sys_reg_to_index(const struct sys_reg_desc *reg) in sys_reg_to_index()
4543 static bool copy_reg_to_user(const struct sys_reg_desc *reg, u64 __user **uind) in copy_reg_to_user()
4556 const struct sys_reg_desc *rd, in walk_one_sys_reg()
4580 const struct sys_reg_desc *i2, *end2; in walk_sys_regs()
4644 const struct sys_reg_desc *reg = &sys_reg_descs[i]; in kvm_vm_ioctl_get_reg_writable_masks()