Lines Matching defs:data
156 u64 data, bool host)
161 vector = data & HV_SYNIC_SINT_VECTOR_MASK;
162 masked = data & HV_SYNIC_SINT_MASKED;
179 atomic64_set(&synic->sint[sint], data);
260 u32 msr, u64 data, bool host)
265 if (!synic->active && (!host || data))
268 trace_kvm_hv_synic_set_msr(vcpu->vcpu_id, msr, data, host);
273 synic->control = data;
282 synic->version = data;
285 if ((data & HV_SYNIC_SIEFP_ENABLE) && !host &&
288 data & PAGE_MASK, PAGE_SIZE)) {
292 synic->evt_page = data;
297 if ((data & HV_SYNIC_SIMP_ENABLE) && !host &&
300 data & PAGE_MASK, PAGE_SIZE)) {
304 synic->msg_page = data;
319 ret = synic_set_sint(synic, msr - HV_X64_MSR_SINT0, data, host);
363 static int syndbg_set_msr(struct kvm_vcpu *vcpu, u32 msr, u64 data, bool host)
371 to_hv_vcpu(vcpu)->vp_index, msr, data);
374 syndbg->control.control = data;
379 syndbg->control.status = data;
382 syndbg->control.send_page = data;
385 syndbg->control.recv_page = data;
388 syndbg->control.pending_page = data;
393 syndbg->options = data;
931 return kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.pv_eoi.data,
1053 static int kvm_hv_msr_set_crash_ctl(struct kvm *kvm, u64 data)
1057 hv->hv_crash_ctl = data & HV_CRASH_CTL_CRASH_NOTIFY;
1062 static int kvm_hv_msr_set_crash_data(struct kvm *kvm, u32 index, u64 data)
1070 hv->hv_crash_param[array_index_nospec(index, size)] = data;
1325 static int kvm_hv_set_msr_pw(struct kvm_vcpu *vcpu, u32 msr, u64 data,
1336 hv->hv_guest_os_id = data;
1349 if (!(data & HV_X64_MSR_HYPERCALL_ENABLE)) {
1350 hv->hv_hypercall = data;
1376 addr = data & HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK;
1379 hv->hv_hypercall = data;
1383 hv->hv_tsc_page = data;
1397 data);
1400 return kvm_hv_msr_set_crash_ctl(kvm, data);
1402 if (data & HV_CRASH_CTL_CRASH_NOTIFY) {
1415 if (data == 1) {
1421 hv->hv_reenlightenment_control = data;
1424 hv->hv_tsc_emulation_control = data;
1427 if (data && !host)
1430 hv->hv_tsc_emulation_status = data;
1439 if (data & ~HV_EXPOSE_INVARIANT_TSC)
1443 if (!host && hv->hv_invtsc_control && !data)
1446 hv->hv_invtsc_control = data;
1450 return syndbg_set_msr(vcpu, msr, data, host);
1452 kvm_pr_unimpl_wrmsr(vcpu, msr, data);
1468 static int kvm_hv_set_msr(struct kvm_vcpu *vcpu, u32 msr, u64 data, bool host)
1478 u32 new_vp_index = (u32)data;
1504 if (!(data & HV_X64_MSR_VP_ASSIST_PAGE_ENABLE)) {
1505 hv_vcpu->hv_vapic = data;
1510 gfn = data >> HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT;
1517 * only, there can be valuable data in the rest which needs
1522 hv_vcpu->hv_vapic = data;
1531 return kvm_hv_vapic_msr_write(vcpu, APIC_EOI, data);
1533 return kvm_hv_vapic_msr_write(vcpu, APIC_ICR, data);
1535 return kvm_hv_vapic_msr_write(vcpu, APIC_TASKPRI, data);
1539 hv_vcpu->runtime_offset = data - current_task_runtime_100ns();
1547 return synic_set_msr(to_hv_synic(vcpu), msr, data, host);
1555 data, host);
1564 data, host);
1573 kvm_pr_unimpl_wrmsr(vcpu, msr, data);
1583 u64 data = 0;
1592 data = hv->hv_guest_os_id;
1595 data = hv->hv_hypercall;
1598 data = get_time_ref_counter(kvm);
1601 data = hv->hv_tsc_page;
1610 data = 0;
1613 data = hv->hv_reenlightenment_control;
1616 data = hv->hv_tsc_emulation_control;
1619 data = hv->hv_tsc_emulation_status;
1622 data = hv->hv_invtsc_control;
1632 *pdata = data;
1639 u64 data = 0;
1647 data = hv_vcpu->vp_index;
1656 data = hv_vcpu->hv_vapic;
1659 data = current_task_runtime_100ns() + hv_vcpu->runtime_offset;
1687 data = (u64)vcpu->arch.virtual_tsc_khz * 1000;
1690 data = APIC_BUS_FREQUENCY;
1696 *pdata = data;
1700 int kvm_hv_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data, bool host)
1714 r = kvm_hv_set_msr_pw(vcpu, msr, data, host);
1718 return kvm_hv_set_msr(vcpu, msr, data, host);
1808 /* Hypercall input data */
1821 * Current read offset when KVM reads hypercall input data gradually,
1833 u16 orig_cnt, u16 cnt_cap, u64 *data)
1854 data[i] = sse128_hi(hc->xmm[j / 2]);
1856 data[i] = sse128_lo(hc->xmm[j / 2]);
1861 return kvm_read_guest(kvm, hc->ingpa + hc->data_offset, data,
1862 cnt * sizeof(*data));