Lines Matching defs:params

49 				 struct sys_reg_params *params,
53 print_sys_reg_instr(params);
59 struct sys_reg_params *params,
63 print_sys_reg_instr(params);
2781 struct sys_reg_params *params,
2784 trace_kvm_sys_access(*vcpu_pc(vcpu), params, r);
2800 if (likely(r->access(vcpu, params, r)))
2808 * @params: pointer to the descriptor of the access
2815 struct sys_reg_params *params,
2824 r = find_reg(params, table, num);
2827 perform_access(vcpu, params, r);
2836 struct sys_reg_params *params)
2854 print_sys_reg_msg(params,
2869 struct sys_reg_params params;
2874 params.CRm = (esr >> 1) & 0xf;
2875 params.is_write = ((esr & 1) == 0);
2877 params.Op0 = 0;
2878 params.Op1 = (esr >> 16) & 0xf;
2879 params.Op2 = 0;
2880 params.CRn = 0;
2886 if (params.is_write) {
2887 params.regval = vcpu_get_reg(vcpu, Rt) & 0xffffffff;
2888 params.regval |= vcpu_get_reg(vcpu, Rt2) << 32;
2896 if (emulate_cp(vcpu, &params, global, nr_global)) {
2898 if (!params.is_write) {
2899 vcpu_set_reg(vcpu, Rt, lower_32_bits(params.regval));
2900 vcpu_set_reg(vcpu, Rt2, upper_32_bits(params.regval));
2906 unhandled_cp_access(vcpu, &params);
2910 static bool emulate_sys_reg(struct kvm_vcpu *vcpu, struct sys_reg_params *params);
2917 static bool kvm_esr_cp10_id_to_sys64(u64 esr, struct sys_reg_params *params)
2922 params->is_write = ((esr & 1) == 0);
2923 params->Op0 = 3;
2924 params->Op1 = 0;
2925 params->CRn = 0;
2926 params->CRm = 3;
2929 valid = !params->is_write;
2934 params->Op2 = 0;
2938 params->Op2 = 1;
2942 params->Op2 = 2;
2952 params->is_write ? "write" : "read", reg_id);
2969 struct sys_reg_params params;
2972 if (!kvm_esr_cp10_id_to_sys64(esr, &params)) {
2977 if (emulate_sys_reg(vcpu, &params))
2978 vcpu_set_reg(vcpu, Rt, params.regval);
2988 * @params: the system register access parameters.
3001 struct sys_reg_params *params)
3006 if (params->is_write) {
3007 unhandled_cp_access(vcpu, params);
3011 params->Op0 = 3;
3018 if (params->CRm > 3)
3019 params->regval = 0;
3020 else if (!emulate_sys_reg(vcpu, params))
3023 vcpu_set_reg(vcpu, Rt, params->regval);
3033 struct sys_reg_params *params,
3039 params->regval = vcpu_get_reg(vcpu, Rt);
3041 if (emulate_cp(vcpu, params, global, nr_global)) {
3042 if (!params->is_write)
3043 vcpu_set_reg(vcpu, Rt, params->regval);
3047 unhandled_cp_access(vcpu, params);
3058 struct sys_reg_params params;
3060 params = esr_cp1x_32_to_params(kvm_vcpu_get_esr(vcpu));
3068 if (params.Op1 == 0 && params.CRn == 0 && params.CRm)
3069 return kvm_emulate_cp15_id_reg(vcpu, &params);
3071 return kvm_handle_cp_32(vcpu, &params, cp15_regs, ARRAY_SIZE(cp15_regs));
3081 struct sys_reg_params params;
3083 params = esr_cp1x_32_to_params(kvm_vcpu_get_esr(vcpu));
3085 return kvm_handle_cp_32(vcpu, &params, cp14_regs, ARRAY_SIZE(cp14_regs));
3088 static bool is_imp_def_sys_reg(struct sys_reg_params *params)
3091 return params->Op0 == 3 && (params->CRn & 0b1011) == 0b1011;
3097 * @params: Decoded system register parameters
3102 struct sys_reg_params *params)
3106 r = find_reg(params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs));
3109 perform_access(vcpu, params, r);
3113 if (is_imp_def_sys_reg(params)) {
3116 print_sys_reg_msg(params,
3176 struct sys_reg_params params;
3185 params = esr_sys64_to_params(esr);
3186 params.regval = vcpu_get_reg(vcpu, Rt);
3188 if (!emulate_sys_reg(vcpu, &params))
3191 if (!params.is_write)
3192 vcpu_set_reg(vcpu, Rt, params.regval);
3200 static bool index_to_params(u64 id, struct sys_reg_params *params)
3213 params->Op0 = ((id & KVM_REG_ARM64_SYSREG_OP0_MASK)
3215 params->Op1 = ((id & KVM_REG_ARM64_SYSREG_OP1_MASK)
3217 params->CRn = ((id & KVM_REG_ARM64_SYSREG_CRN_MASK)
3219 params->CRm = ((id & KVM_REG_ARM64_SYSREG_CRM_MASK)
3221 params->Op2 = ((id & KVM_REG_ARM64_SYSREG_OP2_MASK)
3233 struct sys_reg_params params;
3235 if (!index_to_params(id, &params))
3238 return find_reg(&params, table, num);
3577 struct sys_reg_params params;
3597 params = encoding_to_params(SYS_ID_PFR0_EL1);
3598 first_idreg = find_reg(&params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs));