• Home
  • Raw
  • Download

Lines Matching refs:params

52 				 struct sys_reg_params *params,  in read_from_write_only()  argument
56 print_sys_reg_instr(params); in read_from_write_only()
62 struct sys_reg_params *params, in write_to_read_only() argument
66 print_sys_reg_instr(params); in write_to_read_only()
2078 static const struct sys_reg_desc *find_reg(const struct sys_reg_params *params, in find_reg() argument
2082 unsigned long pval = reg_to_encoding(params); in find_reg()
2094 struct sys_reg_params *params, in perform_access() argument
2097 trace_kvm_sys_access(*vcpu_pc(vcpu), params, r); in perform_access()
2113 if (likely(r->access(vcpu, params, r))) in perform_access()
2128 struct sys_reg_params *params, in emulate_cp() argument
2137 r = find_reg(params, table, num); in emulate_cp()
2140 perform_access(vcpu, params, r); in emulate_cp()
2149 struct sys_reg_params *params) in unhandled_cp_access() argument
2167 print_sys_reg_msg(params, in unhandled_cp_access()
2182 struct sys_reg_params params; in kvm_handle_cp_64() local
2187 params.CRm = (esr >> 1) & 0xf; in kvm_handle_cp_64()
2188 params.is_write = ((esr & 1) == 0); in kvm_handle_cp_64()
2190 params.Op0 = 0; in kvm_handle_cp_64()
2191 params.Op1 = (esr >> 16) & 0xf; in kvm_handle_cp_64()
2192 params.Op2 = 0; in kvm_handle_cp_64()
2193 params.CRn = 0; in kvm_handle_cp_64()
2199 if (params.is_write) { in kvm_handle_cp_64()
2200 params.regval = vcpu_get_reg(vcpu, Rt) & 0xffffffff; in kvm_handle_cp_64()
2201 params.regval |= vcpu_get_reg(vcpu, Rt2) << 32; in kvm_handle_cp_64()
2209 if (!emulate_cp(vcpu, &params, global, nr_global)) { in kvm_handle_cp_64()
2211 if (!params.is_write) { in kvm_handle_cp_64()
2212 vcpu_set_reg(vcpu, Rt, lower_32_bits(params.regval)); in kvm_handle_cp_64()
2213 vcpu_set_reg(vcpu, Rt2, upper_32_bits(params.regval)); in kvm_handle_cp_64()
2219 unhandled_cp_access(vcpu, &params); in kvm_handle_cp_64()
2232 struct sys_reg_params params; in kvm_handle_cp_32() local
2236 params.CRm = (esr >> 1) & 0xf; in kvm_handle_cp_32()
2237 params.regval = vcpu_get_reg(vcpu, Rt); in kvm_handle_cp_32()
2238 params.is_write = ((esr & 1) == 0); in kvm_handle_cp_32()
2239 params.CRn = (esr >> 10) & 0xf; in kvm_handle_cp_32()
2240 params.Op0 = 0; in kvm_handle_cp_32()
2241 params.Op1 = (esr >> 14) & 0x7; in kvm_handle_cp_32()
2242 params.Op2 = (esr >> 17) & 0x7; in kvm_handle_cp_32()
2244 if (!emulate_cp(vcpu, &params, global, nr_global)) { in kvm_handle_cp_32()
2245 if (!params.is_write) in kvm_handle_cp_32()
2246 vcpu_set_reg(vcpu, Rt, params.regval); in kvm_handle_cp_32()
2250 unhandled_cp_access(vcpu, &params); in kvm_handle_cp_32()
2274 static bool is_imp_def_sys_reg(struct sys_reg_params *params) in is_imp_def_sys_reg() argument
2277 return params->Op0 == 3 && (params->CRn & 0b1011) == 0b1011; in is_imp_def_sys_reg()
2281 struct sys_reg_params *params) in emulate_sys_reg() argument
2285 r = find_reg(params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs)); in emulate_sys_reg()
2288 perform_access(vcpu, params, r); in emulate_sys_reg()
2289 } else if (is_imp_def_sys_reg(params)) { in emulate_sys_reg()
2292 print_sys_reg_msg(params, in emulate_sys_reg()
2322 struct sys_reg_params params; in kvm_handle_sys_reg() local
2329 params.Op0 = (esr >> 20) & 3; in kvm_handle_sys_reg()
2330 params.Op1 = (esr >> 14) & 0x7; in kvm_handle_sys_reg()
2331 params.CRn = (esr >> 10) & 0xf; in kvm_handle_sys_reg()
2332 params.CRm = (esr >> 1) & 0xf; in kvm_handle_sys_reg()
2333 params.Op2 = (esr >> 17) & 0x7; in kvm_handle_sys_reg()
2334 params.regval = vcpu_get_reg(vcpu, Rt); in kvm_handle_sys_reg()
2335 params.is_write = !(esr & 1); in kvm_handle_sys_reg()
2337 ret = emulate_sys_reg(vcpu, &params); in kvm_handle_sys_reg()
2339 if (!params.is_write) in kvm_handle_sys_reg()
2340 vcpu_set_reg(vcpu, Rt, params.regval); in kvm_handle_sys_reg()
2348 static bool index_to_params(u64 id, struct sys_reg_params *params) in index_to_params() argument
2361 params->Op0 = ((id & KVM_REG_ARM64_SYSREG_OP0_MASK) in index_to_params()
2363 params->Op1 = ((id & KVM_REG_ARM64_SYSREG_OP1_MASK) in index_to_params()
2365 params->CRn = ((id & KVM_REG_ARM64_SYSREG_CRN_MASK) in index_to_params()
2367 params->CRm = ((id & KVM_REG_ARM64_SYSREG_CRM_MASK) in index_to_params()
2369 params->Op2 = ((id & KVM_REG_ARM64_SYSREG_OP2_MASK) in index_to_params()
2378 struct sys_reg_params *params, in find_reg_by_id() argument
2382 if (!index_to_params(id, params)) in find_reg_by_id()
2385 return find_reg(params, table, num); in find_reg_by_id()
2393 struct sys_reg_params params; in index_to_sys_reg_desc() local
2399 if (!index_to_params(id, &params)) in index_to_sys_reg_desc()
2402 r = find_reg(&params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs)); in index_to_sys_reg_desc()
2461 struct sys_reg_params params; in get_invariant_sys_reg() local
2464 r = find_reg_by_id(id, &params, invariant_sys_regs, in get_invariant_sys_reg()
2474 struct sys_reg_params params; in set_invariant_sys_reg() local
2479 r = find_reg_by_id(id, &params, invariant_sys_regs, in set_invariant_sys_reg()