Lines Matching defs:msr_info
485 int kvm_set_apic_base(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
488 enum lapic_mode new_mode = kvm_apic_mode(msr_info->data);
492 if ((msr_info->data & reserved_bits) != 0 || new_mode == LAPIC_MODE_INVALID)
494 if (!msr_info->host_initiated) {
501 kvm_lapic_set_base(vcpu, msr_info->data);
1755 static int set_efer(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
1758 u64 efer = msr_info->data;
1764 if (!msr_info->host_initiated) {
3326 static int set_msr_mce(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
3330 u32 msr = msr_info->index;
3331 u64 data = msr_info->data;
3340 (data || !msr_info->host_initiated))
3351 if (!(mcg_cap & MCG_CMCI_P) && (data || !msr_info->host_initiated))
3384 if (!msr_info->host_initiated && is_mci_status_msr(msr) &&
3632 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
3634 u32 msr = msr_info->index;
3635 u64 data = msr_info->data;
3652 if (msr_info->host_initiated)
3656 if (!msr_info->host_initiated)
3661 if (!msr_info->host_initiated)
3678 if (!msr_info->host_initiated && !guest_has_pred_cmd_msr(vcpu))
3689 if (!msr_info->host_initiated &&
3701 return set_efer(vcpu, msr_info);
3731 return kvm_set_apic_base(vcpu, msr_info);
3739 if (!msr_info->host_initiated) {
3753 if (!msr_info->host_initiated) {
3775 if (!IS_ENABLED(CONFIG_KVM_SMM) || !msr_info->host_initiated)
3783 if (msr_info->host_initiated) {
3792 if (!msr_info->host_initiated &&
3806 if (!msr_info->host_initiated)
3828 kvm_write_system_time(vcpu, data, false, msr_info->host_initiated);
3834 kvm_write_system_time(vcpu, data, true, msr_info->host_initiated);
3899 return set_msr_mce(vcpu, msr_info);
3906 return kvm_pmu_set_msr(vcpu, msr_info);
3932 msr_info->host_initiated);
3950 if (!msr_info->host_initiated ||
3965 if (!msr_info->host_initiated &&
3975 if (!msr_info->host_initiated &&
3987 return kvm_pmu_set_msr(vcpu, msr_info);
3993 if (msr_info->host_initiated && !data &&
4053 int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
4055 switch (msr_info->index) {
4085 msr_info->data = 0;
4091 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index))
4092 return kvm_pmu_get_msr(vcpu, msr_info);
4093 msr_info->data = 0;
4096 msr_info->data = vcpu->arch.microcode_version;
4099 if (!msr_info->host_initiated &&
4102 msr_info->data = vcpu->arch.arch_capabilities;
4105 if (!msr_info->host_initiated &&
4108 msr_info->data = vcpu->arch.perf_capabilities;
4111 msr_info->data = vcpu->arch.msr_ia32_power_ctl;
4125 if (msr_info->host_initiated) {
4133 msr_info->data = kvm_scale_tsc(rdtsc(), ratio) + offset;
4137 msr_info->data = vcpu->arch.pat;
4142 return kvm_mtrr_get_msr(vcpu, msr_info->index, &msr_info->data);
4144 msr_info->data = 3;
4158 msr_info->data = 1 << 24;
4161 msr_info->data = kvm_get_apic_base(vcpu);
4164 return kvm_x2apic_msr_read(vcpu, msr_info->index, &msr_info->data);
4166 msr_info->data = kvm_get_lapic_tscdeadline_msr(vcpu);
4169 msr_info->data = (u64)vcpu->arch.ia32_tsc_adjust_msr;
4172 msr_info->data = vcpu->arch.ia32_misc_enable_msr;
4175 if (!IS_ENABLED(CONFIG_KVM_SMM) || !msr_info->host_initiated)
4177 msr_info->data = vcpu->arch.smbase;
4180 msr_info->data = vcpu->arch.smi_count;
4184 msr_info->data = 1000ULL;
4186 msr_info->data |= (((uint64_t)4ULL) << 40);
4189 msr_info->data = vcpu->arch.efer;
4195 msr_info->data = vcpu->kvm->arch.wall_clock;
4201 msr_info->data = vcpu->kvm->arch.wall_clock;
4207 msr_info->data = vcpu->arch.time;
4213 msr_info->data = vcpu->arch.time;
4219 msr_info->data = vcpu->arch.apf.msr_en_val;
4225 msr_info->data = vcpu->arch.apf.msr_int_val;
4231 msr_info->data = 0;
4237 msr_info->data = vcpu->arch.st.msr_val;
4243 msr_info->data = vcpu->arch.pv_eoi.msr_val;
4249 msr_info->data = vcpu->arch.msr_kvm_poll_control;
4258 return get_msr_mce(vcpu, msr_info->index, &msr_info->data,
4259 msr_info->host_initiated);
4261 if (!msr_info->host_initiated &&
4264 msr_info->data = vcpu->arch.ia32_xss;
4276 msr_info->data = 0x20000000;
4289 msr_info->index, &msr_info->data,
4290 msr_info->host_initiated);
4302 msr_info->data = 0xbe702111;
4307 msr_info->data = vcpu->arch.osvw.length;
4312 msr_info->data = vcpu->arch.osvw.status;
4315 if (!msr_info->host_initiated &&
4318 msr_info->data = vcpu->arch.msr_platform_info;
4321 msr_info->data = vcpu->arch.msr_misc_features_enables;
4324 msr_info->data = vcpu->arch.msr_hwcr;
4328 if (!msr_info->host_initiated &&
4332 msr_info->data = vcpu->arch.guest_fpu.fpstate->xfd;
4335 if (!msr_info->host_initiated &&
4339 msr_info->data = vcpu->arch.guest_fpu.xfd_err;
4343 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index))
4344 return kvm_pmu_get_msr(vcpu, msr_info);
4350 if (msr_info->host_initiated &&
4351 kvm_is_msr_to_save(msr_info->index)) {
4352 msr_info->data = 0;