Lines Matching defs:vcpu
52 static bool undef_access(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in undef_access()
59 static bool bad_trap(struct kvm_vcpu *vcpu, in bad_trap()
69 static bool read_from_write_only(struct kvm_vcpu *vcpu, in read_from_write_only()
77 static bool write_to_read_only(struct kvm_vcpu *vcpu, in write_to_read_only()
152 u64 vcpu_read_sys_reg(const struct kvm_vcpu *vcpu, int reg) in vcpu_read_sys_reg()
214 void vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg) in vcpu_write_sys_reg()
298 static u32 get_ccsidr(struct kvm_vcpu *vcpu, u32 csselr) in get_ccsidr()
333 static int set_ccsidr(struct kvm_vcpu *vcpu, u32 csselr, u32 val) in set_ccsidr()
362 static bool access_rw(struct kvm_vcpu *vcpu, in access_rw()
377 static bool access_dcsw(struct kvm_vcpu *vcpu, in access_dcsw()
397 static bool access_dcgsw(struct kvm_vcpu *vcpu, in access_dcgsw()
431 static bool access_vm_reg(struct kvm_vcpu *vcpu, in access_vm_reg()
456 static bool access_actlr(struct kvm_vcpu *vcpu, in access_actlr()
477 static bool access_gic_sgi(struct kvm_vcpu *vcpu, in access_gic_sgi()
525 static bool access_gic_sre(struct kvm_vcpu *vcpu, in access_gic_sre()
545 static bool trap_raz_wi(struct kvm_vcpu *vcpu, in trap_raz_wi()
561 static bool trap_loregion(struct kvm_vcpu *vcpu, in trap_loregion()
576 static bool trap_oslar_el1(struct kvm_vcpu *vcpu, in trap_oslar_el1()
587 static bool trap_oslsr_el1(struct kvm_vcpu *vcpu, in trap_oslsr_el1()
598 static int set_oslsr_el1(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_oslsr_el1()
612 static bool trap_dbgauthstatus_el1(struct kvm_vcpu *vcpu, in trap_dbgauthstatus_el1()
624 static bool trap_debug_regs(struct kvm_vcpu *vcpu, in trap_debug_regs()
640 static void reg_to_dbg(struct kvm_vcpu *vcpu, in reg_to_dbg()
655 static void dbg_to_reg(struct kvm_vcpu *vcpu, in dbg_to_reg()
666 static u64 *demux_wb_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd) in demux_wb_reg()
685 static bool trap_dbg_wb_reg(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in trap_dbg_wb_reg()
702 static int set_dbg_wb_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_dbg_wb_reg()
714 static int get_dbg_wb_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_dbg_wb_reg()
726 static u64 reset_dbg_wb_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd) in reset_dbg_wb_reg()
742 static u64 reset_amair_el1(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_amair_el1()
749 static u64 reset_actlr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_actlr()
756 static u64 reset_mpidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_mpidr()
776 static unsigned int pmu_visibility(const struct kvm_vcpu *vcpu, in pmu_visibility()
785 static u64 reset_pmu_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmu_reg()
799 static u64 reset_pmevcntr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmevcntr()
807 static u64 reset_pmevtyper(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmevtyper()
819 static u64 reset_pmselr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmselr()
827 static u64 reset_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_pmcr()
843 static bool check_pmu_access_disabled(struct kvm_vcpu *vcpu, u64 flags) in check_pmu_access_disabled()
854 static bool pmu_access_el0_disabled(struct kvm_vcpu *vcpu) in pmu_access_el0_disabled()
859 static bool pmu_write_swinc_el0_disabled(struct kvm_vcpu *vcpu) in pmu_write_swinc_el0_disabled()
864 static bool pmu_access_cycle_counter_el0_disabled(struct kvm_vcpu *vcpu) in pmu_access_cycle_counter_el0_disabled()
869 static bool pmu_access_event_counter_el0_disabled(struct kvm_vcpu *vcpu) in pmu_access_event_counter_el0_disabled()
874 static bool access_pmcr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmcr()
903 static bool access_pmselr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmselr()
919 static bool access_pmceid(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmceid()
940 static bool pmu_counter_idx_valid(struct kvm_vcpu *vcpu, u64 idx) in pmu_counter_idx_valid()
954 static int get_pmu_evcntr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in get_pmu_evcntr()
970 static int set_pmu_evcntr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in set_pmu_evcntr()
986 static bool access_pmu_evcntr(struct kvm_vcpu *vcpu, in access_pmu_evcntr()
1039 static bool access_pmu_evtyper(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmu_evtyper()
1075 static int set_pmreg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, u64 val) in set_pmreg()
1085 static int get_pmreg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, u64 *val) in get_pmreg()
1093 static bool access_pmcnten(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmcnten()
1119 static bool access_pminten(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pminten()
1143 static bool access_pmovs(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmovs()
1165 static bool access_pmswinc(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmswinc()
1181 static bool access_pmuserenr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_pmuserenr()
1198 static int get_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in get_pmcr()
1205 static int set_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in set_pmcr()
1283 static unsigned int ptrauth_visibility(const struct kvm_vcpu *vcpu, in ptrauth_visibility()
1303 static bool access_arch_timer(struct kvm_vcpu *vcpu, in access_arch_timer()
1466 static bool access_hv_timer(struct kvm_vcpu *vcpu, in access_hv_timer()
1514 static int arm64_check_features(struct kvm_vcpu *vcpu, in arm64_check_features()
1584 static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu, in __kvm_read_sanitised_id_reg()
1658 static u64 kvm_read_sanitised_id_reg(struct kvm_vcpu *vcpu, in kvm_read_sanitised_id_reg()
1664 static u64 read_id_reg(const struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in read_id_reg()
1713 static unsigned int id_visibility(const struct kvm_vcpu *vcpu, in id_visibility()
1728 static unsigned int aa32_id_visibility(const struct kvm_vcpu *vcpu, in aa32_id_visibility()
1742 static unsigned int raz_visibility(const struct kvm_vcpu *vcpu, in raz_visibility()
1750 static bool access_id_reg(struct kvm_vcpu *vcpu, in access_id_reg()
1763 static unsigned int sve_visibility(const struct kvm_vcpu *vcpu, in sve_visibility()
1772 static unsigned int sme_visibility(const struct kvm_vcpu *vcpu, in sme_visibility()
1781 static unsigned int fp8_visibility(const struct kvm_vcpu *vcpu, in fp8_visibility()
1790 static u64 sanitise_id_aa64pfr0_el1(const struct kvm_vcpu *vcpu, u64 val) in sanitise_id_aa64pfr0_el1()
1829 static u64 sanitise_id_aa64dfr0_el1(const struct kvm_vcpu *vcpu, u64 val) in sanitise_id_aa64dfr0_el1()
1850 static int set_id_aa64dfr0_el1(struct kvm_vcpu *vcpu, in set_id_aa64dfr0_el1()
1884 static u64 read_sanitised_id_dfr0_el1(struct kvm_vcpu *vcpu, in read_sanitised_id_dfr0_el1()
1901 static int set_id_dfr0_el1(struct kvm_vcpu *vcpu, in set_id_dfr0_el1()
1928 static int set_id_aa64pfr0_el1(struct kvm_vcpu *vcpu, in set_id_aa64pfr0_el1()
1957 static int set_id_aa64pfr1_el1(struct kvm_vcpu *vcpu, in set_id_aa64pfr1_el1()
1970 static int set_id_aa64mmfr0_el1(struct kvm_vcpu *vcpu, in set_id_aa64mmfr0_el1()
1985 static int set_id_aa64mmfr2_el1(struct kvm_vcpu *vcpu, in set_id_aa64mmfr2_el1()
2001 static int set_ctr_el0(struct kvm_vcpu *vcpu, in set_ctr_el0()
2036 static int get_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_id_reg()
2055 static int set_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_id_reg()
2107 static int get_raz_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in get_raz_reg()
2114 static int set_wi_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_wi_reg()
2120 static bool access_ctr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_ctr()
2130 static bool access_clidr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_clidr()
2144 static u64 reset_clidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_clidr()
2196 static int set_clidr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, in set_clidr()
2210 static bool access_csselr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_csselr()
2222 static bool access_ccsidr(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in access_ccsidr()
2238 static unsigned int mte_visibility(const struct kvm_vcpu *vcpu, in mte_visibility()
2255 static unsigned int el2_visibility(const struct kvm_vcpu *vcpu, in el2_visibility()
2264 static bool bad_vncr_trap(struct kvm_vcpu *vcpu, in bad_vncr_trap()
2277 static bool bad_redir_trap(struct kvm_vcpu *vcpu, in bad_redir_trap()
2383 static bool access_sp_el1(struct kvm_vcpu *vcpu, in access_sp_el1()
2395 static bool access_elr(struct kvm_vcpu *vcpu, in access_elr()
2407 static bool access_spsr(struct kvm_vcpu *vcpu, in access_spsr()
2419 static bool access_cntkctl_el12(struct kvm_vcpu *vcpu, in access_cntkctl_el12()
2431 static u64 reset_hcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_hcr()
2441 static unsigned int __el2_visibility(const struct kvm_vcpu *vcpu, in __el2_visibility()
2449 static unsigned int sve_el2_visibility(const struct kvm_vcpu *vcpu, in sve_el2_visibility()
2455 static bool access_zcr_el2(struct kvm_vcpu *vcpu, in access_zcr_el2()
2478 static bool access_gic_vtr(struct kvm_vcpu *vcpu, in access_gic_vtr()
2494 static bool access_gic_misr(struct kvm_vcpu *vcpu, in access_gic_misr()
2506 static bool access_gic_eisr(struct kvm_vcpu *vcpu, in access_gic_eisr()
2518 static bool access_gic_elrsr(struct kvm_vcpu *vcpu, in access_gic_elrsr()
2530 static unsigned int s1poe_visibility(const struct kvm_vcpu *vcpu, in s1poe_visibility()
2539 static unsigned int s1poe_el2_visibility(const struct kvm_vcpu *vcpu, in s1poe_el2_visibility()
2545 static unsigned int tcr2_visibility(const struct kvm_vcpu *vcpu, in tcr2_visibility()
2554 static unsigned int tcr2_el2_visibility(const struct kvm_vcpu *vcpu, in tcr2_el2_visibility()
2560 static unsigned int s1pie_visibility(const struct kvm_vcpu *vcpu, in s1pie_visibility()
2569 static unsigned int s1pie_el2_visibility(const struct kvm_vcpu *vcpu, in s1pie_el2_visibility()
2575 static bool access_mdcr(struct kvm_vcpu *vcpu, in access_mdcr()
2609 static bool access_imp_id_reg(struct kvm_vcpu *vcpu, in access_imp_id_reg()
2652 static u64 reset_imp_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) in reset_imp_id_reg()
2667 static int set_imp_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, in set_imp_id_reg()
3381 static bool handle_at_s1e01(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_at_s1e01()
3391 static bool handle_at_s1e2(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_at_s1e2()
3408 static bool handle_at_s12(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_at_s12()
3434 static bool handle_alle1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_alle1is()
3526 static bool handle_vmalls12e1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_vmalls12e1is()
3550 static bool handle_ripas2e1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_ripas2e1is()
3625 static bool handle_ipas2e1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_ipas2e1is()
3651 static bool handle_tlbi_el1(struct kvm_vcpu *vcpu, struct sys_reg_params *p, in handle_tlbi_el1()
3861 static bool trap_dbgdidr(struct kvm_vcpu *vcpu, in trap_dbgdidr()
4228 int kvm_handle_cp14_load_store(struct kvm_vcpu *vcpu) in kvm_handle_cp14_load_store()
4234 static void perform_access(struct kvm_vcpu *vcpu, in perform_access()
4268 static bool emulate_cp(struct kvm_vcpu *vcpu, in emulate_cp()
4289 static void unhandled_cp_access(struct kvm_vcpu *vcpu, in unhandled_cp_access()
4320 static int kvm_handle_cp_64(struct kvm_vcpu *vcpu, in kvm_handle_cp_64()
4420 int kvm_handle_cp10_id(struct kvm_vcpu *vcpu) in kvm_handle_cp10_id()
4455 static int kvm_emulate_cp15_id_reg(struct kvm_vcpu *vcpu, in kvm_emulate_cp15_id_reg()
4489 static int kvm_handle_cp_32(struct kvm_vcpu *vcpu, in kvm_handle_cp_32()
4508 int kvm_handle_cp15_64(struct kvm_vcpu *vcpu) in kvm_handle_cp15_64()
4513 int kvm_handle_cp15_32(struct kvm_vcpu *vcpu) in kvm_handle_cp15_32()
4535 int kvm_handle_cp14_64(struct kvm_vcpu *vcpu) in kvm_handle_cp14_64()
4540 int kvm_handle_cp14_32(struct kvm_vcpu *vcpu) in kvm_handle_cp14_32()
4556 static bool emulate_sys_reg(struct kvm_vcpu *vcpu, in emulate_sys_reg()
4678 static void reset_vm_ftr_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *reg) in reset_vm_ftr_id_reg()
4689 static void reset_vcpu_ftr_id_reg(struct kvm_vcpu *vcpu, in reset_vcpu_ftr_id_reg()
4705 void kvm_reset_sys_regs(struct kvm_vcpu *vcpu) in kvm_reset_sys_regs()
4738 int kvm_handle_sys_reg(struct kvm_vcpu *vcpu) in kvm_handle_sys_reg()
4817 id_to_sys_reg_desc(struct kvm_vcpu *vcpu, u64 id, in id_to_sys_reg_desc()
4836 static int demux_c15_get(struct kvm_vcpu *vcpu, u64 id, void __user *uaddr) in demux_c15_get()
4861 static int demux_c15_set(struct kvm_vcpu *vcpu, u64 id, void __user *uaddr) in demux_c15_set()
4889 int kvm_sys_reg_get_user(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg, in kvm_sys_reg_get_user()
4914 int kvm_arm_sys_reg_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_sys_reg_get_reg()
4925 int kvm_sys_reg_set_user(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg, in kvm_sys_reg_set_user()
4953 int kvm_arm_sys_reg_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_sys_reg_set_reg()
5006 static int walk_one_sys_reg(const struct kvm_vcpu *vcpu, in walk_one_sys_reg()
5029 static int walk_sys_regs(struct kvm_vcpu *vcpu, u64 __user *uind) in walk_sys_regs()
5046 unsigned long kvm_arm_num_sys_reg_descs(struct kvm_vcpu *vcpu) in kvm_arm_num_sys_reg_descs()
5052 int kvm_arm_copy_sys_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices) in kvm_arm_copy_sys_reg_indices()
5106 static void vcpu_set_hcr(struct kvm_vcpu *vcpu) in vcpu_set_hcr()
5144 void kvm_calculate_traps(struct kvm_vcpu *vcpu) in kvm_calculate_traps()
5229 int kvm_finalize_sys_regs(struct kvm_vcpu *vcpu) in kvm_finalize_sys_regs()