Lines Matching refs:hv
289 struct kvm_hv *hv = &kvm->arch.hyperv;
292 hv->hv_syndbg.control.status =
523 struct kvm_hv *hv = &kvm->arch.hyperv;
531 if (!hv->tsc_ref.tsc_sequence)
536 return mul_u64_u64_shr(tsc, hv->tsc_ref.tsc_scale, 64)
537 + hv->tsc_ref.tsc_offset;
953 struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
954 size_t size = ARRAY_SIZE(hv->hv_crash_param);
959 *pdata = hv->hv_crash_param[array_index_nospec(index, size)];
965 struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
967 *pdata = hv->hv_crash_ctl;
973 struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
976 hv->hv_crash_ctl = data & HV_CRASH_CTL_CRASH_NOTIFY;
980 vcpu_debug(vcpu, "hv crash (0x%llx 0x%llx 0x%llx 0x%llx 0x%llx)\n",
981 hv->hv_crash_param[0],
982 hv->hv_crash_param[1],
983 hv->hv_crash_param[2],
984 hv->hv_crash_param[3],
985 hv->hv_crash_param[4]);
997 struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
998 size_t size = ARRAY_SIZE(hv->hv_crash_param);
1003 hv->hv_crash_param[array_index_nospec(index, size)] = data;
1079 struct kvm_hv *hv = &kvm->arch.hyperv;
1083 BUILD_BUG_ON(sizeof(tsc_seq) != sizeof(hv->tsc_ref.tsc_sequence));
1086 if (!(hv->hv_tsc_page & HV_X64_MSR_TSC_REFERENCE_ENABLE))
1090 if (!(hv->hv_tsc_page & HV_X64_MSR_TSC_REFERENCE_ENABLE))
1093 gfn = hv->hv_tsc_page >> HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT;
1106 hv->tsc_ref.tsc_sequence = 0;
1108 &hv->tsc_ref, sizeof(hv->tsc_ref.tsc_sequence)))
1111 if (!compute_tsc_page_parameters(hv_clock, &hv->tsc_ref))
1116 if (kvm_write_guest(kvm, gfn_to_gpa(gfn), &hv->tsc_ref, sizeof(hv->tsc_ref)))
1129 hv->tsc_ref.tsc_sequence = tsc_seq;
1131 &hv->tsc_ref, sizeof(hv->tsc_ref.tsc_sequence));
1140 struct kvm_hv *hv = &kvm->arch.hyperv;
1144 hv->hv_guest_os_id = data;
1146 if (!hv->hv_guest_os_id)
1147 hv->hv_hypercall &= ~HV_X64_MSR_HYPERCALL_ENABLE;
1155 if (!hv->hv_guest_os_id)
1158 hv->hv_hypercall = data;
1169 hv->hv_hypercall = data;
1174 hv->hv_tsc_page = data;
1175 if (hv->hv_tsc_page & HV_X64_MSR_TSC_REFERENCE_ENABLE)
1191 hv->hv_reenlightenment_control = data;
1194 hv->hv_tsc_emulation_control = data;
1197 hv->hv_tsc_emulation_status = data;
1231 struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
1248 atomic_inc(&hv->num_mismatched_vp_indexes);
1250 atomic_dec(&hv->num_mismatched_vp_indexes);
1341 struct kvm_hv *hv = &kvm->arch.hyperv;
1345 data = hv->hv_guest_os_id;
1348 data = hv->hv_hypercall;
1354 data = hv->hv_tsc_page;
1366 data = hv->hv_reenlightenment_control;
1369 data = hv->hv_tsc_emulation_control;
1372 data = hv->hv_tsc_emulation_status;
1477 struct kvm_hv *hv = &kvm->arch.hyperv;
1487 if (likely(!atomic_read(&hv->num_mismatched_vp_indexes))) {
1918 struct kvm_hv *hv = &kvm->arch.hyperv;
1926 mutex_lock(&hv->hv_lock);
1927 ret = idr_alloc(&hv->conn_to_evt, eventfd, conn_id, conn_id + 1,
1929 mutex_unlock(&hv->hv_lock);
1942 struct kvm_hv *hv = &kvm->arch.hyperv;
1945 mutex_lock(&hv->hv_lock);
1946 eventfd = idr_remove(&hv->conn_to_evt, conn_id);
1947 mutex_unlock(&hv->hv_lock);