Lines Matching refs:msr_info
2783 static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in vmx_get_msr() argument
2787 switch (msr_info->index) { in vmx_get_msr()
2790 msr_info->data = vmcs_readl(GUEST_FS_BASE); in vmx_get_msr()
2793 msr_info->data = vmcs_readl(GUEST_GS_BASE); in vmx_get_msr()
2797 msr_info->data = to_vmx(vcpu)->msr_guest_kernel_gs_base; in vmx_get_msr()
2801 return kvm_get_msr_common(vcpu, msr_info); in vmx_get_msr()
2803 msr_info->data = guest_read_tsc(vcpu); in vmx_get_msr()
2806 msr_info->data = vmcs_read32(GUEST_SYSENTER_CS); in vmx_get_msr()
2809 msr_info->data = vmcs_readl(GUEST_SYSENTER_EIP); in vmx_get_msr()
2812 msr_info->data = vmcs_readl(GUEST_SYSENTER_ESP); in vmx_get_msr()
2817 msr_info->data = vmcs_read64(GUEST_BNDCFGS); in vmx_get_msr()
2822 msr_info->data = to_vmx(vcpu)->nested.msr_ia32_feature_control; in vmx_get_msr()
2827 return vmx_get_vmx_msr(vcpu, msr_info->index, &msr_info->data); in vmx_get_msr()
2831 msr_info->data = vcpu->arch.ia32_xss; in vmx_get_msr()
2834 if (!guest_cpuid_has_rdtscp(vcpu) && !msr_info->host_initiated) in vmx_get_msr()
2838 msr = find_msr_entry(to_vmx(vcpu), msr_info->index); in vmx_get_msr()
2840 msr_info->data = msr->data; in vmx_get_msr()
2843 return kvm_get_msr_common(vcpu, msr_info); in vmx_get_msr()
2856 static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in vmx_set_msr() argument
2861 u32 msr_index = msr_info->index; in vmx_set_msr()
2862 u64 data = msr_info->data; in vmx_set_msr()
2866 ret = kvm_set_msr_common(vcpu, msr_info); in vmx_set_msr()
2897 kvm_write_tsc(vcpu, msr_info); in vmx_set_msr()
2907 ret = kvm_set_msr_common(vcpu, msr_info); in vmx_set_msr()
2910 ret = kvm_set_msr_common(vcpu, msr_info); in vmx_set_msr()
2915 FEATURE_CONTROL_LOCKED && !msr_info->host_initiated)) in vmx_set_msr()
2918 if (msr_info->host_initiated && data == 0) in vmx_set_msr()
2940 if (!guest_cpuid_has_rdtscp(vcpu) && !msr_info->host_initiated) in vmx_set_msr()
2961 ret = kvm_set_msr_common(vcpu, msr_info); in vmx_set_msr()
5643 struct msr_data msr_info; in handle_rdmsr() local
5645 msr_info.index = ecx; in handle_rdmsr()
5646 msr_info.host_initiated = false; in handle_rdmsr()
5647 if (vmx_get_msr(vcpu, &msr_info)) { in handle_rdmsr()
5653 trace_kvm_msr_read(ecx, msr_info.data); in handle_rdmsr()
5656 vcpu->arch.regs[VCPU_REGS_RAX] = msr_info.data & -1u; in handle_rdmsr()
5657 vcpu->arch.regs[VCPU_REGS_RDX] = (msr_info.data >> 32) & -1u; in handle_rdmsr()
9423 struct msr_data msr_info; in nested_vmx_store_msr() local
9438 msr_info.host_initiated = false; in nested_vmx_store_msr()
9439 msr_info.index = e.index; in nested_vmx_store_msr()
9440 if (kvm_get_msr(vcpu, &msr_info)) { in nested_vmx_store_msr()
9449 &msr_info.data, sizeof(msr_info.data))) { in nested_vmx_store_msr()
9452 __func__, i, e.index, msr_info.data); in nested_vmx_store_msr()