Lines Matching refs:params

408 static const struct coproc_reg *find_reg(const struct coproc_params *params,  in find_reg()  argument
417 if (params->is_64bit != r->is_64) in find_reg()
419 if (params->CRn != r->CRn) in find_reg()
421 if (params->CRm != r->CRm) in find_reg()
423 if (params->Op1 != r->Op1) in find_reg()
425 if (params->Op2 != r->Op2) in find_reg()
434 const struct coproc_params *params) in emulate_cp15() argument
439 trace_kvm_emulate_cp15_imp(params->Op1, params->Rt1, params->CRn, in emulate_cp15()
440 params->CRm, params->Op2, params->is_write); in emulate_cp15()
445 r = find_reg(params, table, num); in emulate_cp15()
447 r = find_reg(params, cp15_regs, ARRAY_SIZE(cp15_regs)); in emulate_cp15()
453 if (likely(r->access(vcpu, params, r))) { in emulate_cp15()
462 print_cp_instr(params); in emulate_cp15()
475 struct coproc_params params; in kvm_handle_cp15_64() local
477 params.CRn = (kvm_vcpu_get_hsr(vcpu) >> 1) & 0xf; in kvm_handle_cp15_64()
478 params.Rt1 = (kvm_vcpu_get_hsr(vcpu) >> 5) & 0xf; in kvm_handle_cp15_64()
479 params.is_write = ((kvm_vcpu_get_hsr(vcpu) & 1) == 0); in kvm_handle_cp15_64()
480 params.is_64bit = true; in kvm_handle_cp15_64()
482 params.Op1 = (kvm_vcpu_get_hsr(vcpu) >> 16) & 0xf; in kvm_handle_cp15_64()
483 params.Op2 = 0; in kvm_handle_cp15_64()
484 params.Rt2 = (kvm_vcpu_get_hsr(vcpu) >> 10) & 0xf; in kvm_handle_cp15_64()
485 params.CRm = 0; in kvm_handle_cp15_64()
487 return emulate_cp15(vcpu, &params); in kvm_handle_cp15_64()
507 struct coproc_params params; in kvm_handle_cp15_32() local
509 params.CRm = (kvm_vcpu_get_hsr(vcpu) >> 1) & 0xf; in kvm_handle_cp15_32()
510 params.Rt1 = (kvm_vcpu_get_hsr(vcpu) >> 5) & 0xf; in kvm_handle_cp15_32()
511 params.is_write = ((kvm_vcpu_get_hsr(vcpu) & 1) == 0); in kvm_handle_cp15_32()
512 params.is_64bit = false; in kvm_handle_cp15_32()
514 params.CRn = (kvm_vcpu_get_hsr(vcpu) >> 10) & 0xf; in kvm_handle_cp15_32()
515 params.Op1 = (kvm_vcpu_get_hsr(vcpu) >> 14) & 0x7; in kvm_handle_cp15_32()
516 params.Op2 = (kvm_vcpu_get_hsr(vcpu) >> 17) & 0x7; in kvm_handle_cp15_32()
517 params.Rt2 = 0; in kvm_handle_cp15_32()
519 return emulate_cp15(vcpu, &params); in kvm_handle_cp15_32()
526 static bool index_to_params(u64 id, struct coproc_params *params) in index_to_params() argument
539 params->is_64bit = false; in index_to_params()
540 params->CRn = ((id & KVM_REG_ARM_32_CRN_MASK) in index_to_params()
542 params->CRm = ((id & KVM_REG_ARM_CRM_MASK) in index_to_params()
544 params->Op1 = ((id & KVM_REG_ARM_OPC1_MASK) in index_to_params()
546 params->Op2 = ((id & KVM_REG_ARM_32_OPC2_MASK) in index_to_params()
556 params->is_64bit = true; in index_to_params()
558 params->CRn = ((id & KVM_REG_ARM_CRM_MASK) in index_to_params()
560 params->Op1 = ((id & KVM_REG_ARM_OPC1_MASK) in index_to_params()
562 params->Op2 = 0; in index_to_params()
563 params->CRm = 0; in index_to_params()
576 struct coproc_params params; in index_to_coproc_reg() local
582 if (!index_to_params(id, &params)) in index_to_coproc_reg()
586 r = find_reg(&params, table, num); in index_to_coproc_reg()
588 r = find_reg(&params, cp15_regs, ARRAY_SIZE(cp15_regs)); in index_to_coproc_reg()
692 struct coproc_params params; in get_invariant_cp15() local
696 if (!index_to_params(id, &params)) in get_invariant_cp15()
699 r = find_reg(&params, invariant_cp15, ARRAY_SIZE(invariant_cp15)); in get_invariant_cp15()
716 struct coproc_params params; in set_invariant_cp15() local
721 if (!index_to_params(id, &params)) in set_invariant_cp15()
723 r = find_reg(&params, invariant_cp15, ARRAY_SIZE(invariant_cp15)); in set_invariant_cp15()