Lines Matching refs:msr_info
408 int kvm_set_apic_base(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in kvm_set_apic_base() argument
411 enum lapic_mode new_mode = kvm_apic_mode(msr_info->data); in kvm_set_apic_base()
415 if ((msr_info->data & reserved_bits) != 0 || new_mode == LAPIC_MODE_INVALID) in kvm_set_apic_base()
417 if (!msr_info->host_initiated) { in kvm_set_apic_base()
424 kvm_lapic_set_base(vcpu, msr_info->data); in kvm_set_apic_base()
1515 static int set_efer(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in set_efer() argument
1518 u64 efer = msr_info->data; in set_efer()
1524 if (!msr_info->host_initiated) { in set_efer()
2862 static int set_msr_mce(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in set_msr_mce() argument
2866 u32 msr = msr_info->index; in set_msr_mce()
2867 u64 data = msr_info->data; in set_msr_mce()
2875 (data || !msr_info->host_initiated)) in set_msr_mce()
2901 if (!msr_info->host_initiated && in set_msr_mce()
3070 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in kvm_set_msr_common() argument
3073 u32 msr = msr_info->index; in kvm_set_msr_common()
3074 u64 data = msr_info->data; in kvm_set_msr_common()
3087 if (msr_info->host_initiated) in kvm_set_msr_common()
3091 if (!msr_info->host_initiated) in kvm_set_msr_common()
3098 if (!msr_info->host_initiated) in kvm_set_msr_common()
3110 return set_efer(vcpu, msr_info); in kvm_set_msr_common()
3147 return kvm_set_apic_base(vcpu, msr_info); in kvm_set_msr_common()
3155 if (!msr_info->host_initiated) { in kvm_set_msr_common()
3178 if (!msr_info->host_initiated) in kvm_set_msr_common()
3186 if (msr_info->host_initiated) { in kvm_set_msr_common()
3195 if (!msr_info->host_initiated && in kvm_set_msr_common()
3209 if (!msr_info->host_initiated) in kvm_set_msr_common()
3229 kvm_write_system_time(vcpu, data, false, msr_info->host_initiated); in kvm_set_msr_common()
3235 kvm_write_system_time(vcpu, data, true, msr_info->host_initiated); in kvm_set_msr_common()
3299 return set_msr_mce(vcpu, msr_info); in kvm_set_msr_common()
3308 return kvm_pmu_set_msr(vcpu, msr_info); in kvm_set_msr_common()
3334 msr_info->host_initiated); in kvm_set_msr_common()
3354 if (!msr_info->host_initiated || in kvm_set_msr_common()
3371 return kvm_pmu_set_msr(vcpu, msr_info); in kvm_set_msr_common()
3416 int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in kvm_get_msr_common() argument
3418 switch (msr_info->index) { in kvm_get_msr_common()
3448 msr_info->data = 0; in kvm_get_msr_common()
3455 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index)) in kvm_get_msr_common()
3456 return kvm_pmu_get_msr(vcpu, msr_info); in kvm_get_msr_common()
3457 msr_info->data = 0; in kvm_get_msr_common()
3460 msr_info->data = vcpu->arch.microcode_version; in kvm_get_msr_common()
3463 if (!msr_info->host_initiated && in kvm_get_msr_common()
3466 msr_info->data = vcpu->arch.arch_capabilities; in kvm_get_msr_common()
3469 if (!msr_info->host_initiated && in kvm_get_msr_common()
3472 msr_info->data = vcpu->arch.perf_capabilities; in kvm_get_msr_common()
3475 msr_info->data = vcpu->arch.msr_ia32_power_ctl; in kvm_get_msr_common()
3487 u64 tsc_offset = msr_info->host_initiated ? vcpu->arch.l1_tsc_offset : in kvm_get_msr_common()
3490 msr_info->data = kvm_scale_tsc(vcpu, rdtsc()) + tsc_offset; in kvm_get_msr_common()
3495 return kvm_mtrr_get_msr(vcpu, msr_info->index, &msr_info->data); in kvm_get_msr_common()
3497 msr_info->data = 3; in kvm_get_msr_common()
3511 msr_info->data = 1 << 24; in kvm_get_msr_common()
3514 msr_info->data = kvm_get_apic_base(vcpu); in kvm_get_msr_common()
3517 return kvm_x2apic_msr_read(vcpu, msr_info->index, &msr_info->data); in kvm_get_msr_common()
3519 msr_info->data = kvm_get_lapic_tscdeadline_msr(vcpu); in kvm_get_msr_common()
3522 msr_info->data = (u64)vcpu->arch.ia32_tsc_adjust_msr; in kvm_get_msr_common()
3525 msr_info->data = vcpu->arch.ia32_misc_enable_msr; in kvm_get_msr_common()
3528 if (!msr_info->host_initiated) in kvm_get_msr_common()
3530 msr_info->data = vcpu->arch.smbase; in kvm_get_msr_common()
3533 msr_info->data = vcpu->arch.smi_count; in kvm_get_msr_common()
3537 msr_info->data = 1000ULL; in kvm_get_msr_common()
3539 msr_info->data |= (((uint64_t)4ULL) << 40); in kvm_get_msr_common()
3542 msr_info->data = vcpu->arch.efer; in kvm_get_msr_common()
3548 msr_info->data = vcpu->kvm->arch.wall_clock; in kvm_get_msr_common()
3554 msr_info->data = vcpu->kvm->arch.wall_clock; in kvm_get_msr_common()
3560 msr_info->data = vcpu->arch.time; in kvm_get_msr_common()
3566 msr_info->data = vcpu->arch.time; in kvm_get_msr_common()
3572 msr_info->data = vcpu->arch.apf.msr_en_val; in kvm_get_msr_common()
3578 msr_info->data = vcpu->arch.apf.msr_int_val; in kvm_get_msr_common()
3584 msr_info->data = 0; in kvm_get_msr_common()
3590 msr_info->data = vcpu->arch.st.msr_val; in kvm_get_msr_common()
3596 msr_info->data = vcpu->arch.pv_eoi.msr_val; in kvm_get_msr_common()
3602 msr_info->data = vcpu->arch.msr_kvm_poll_control; in kvm_get_msr_common()
3610 return get_msr_mce(vcpu, msr_info->index, &msr_info->data, in kvm_get_msr_common()
3611 msr_info->host_initiated); in kvm_get_msr_common()
3613 if (!msr_info->host_initiated && in kvm_get_msr_common()
3616 msr_info->data = vcpu->arch.ia32_xss; in kvm_get_msr_common()
3628 msr_info->data = 0x20000000; in kvm_get_msr_common()
3640 msr_info->index, &msr_info->data, in kvm_get_msr_common()
3641 msr_info->host_initiated); in kvm_get_msr_common()
3653 msr_info->data = 0xbe702111; in kvm_get_msr_common()
3658 msr_info->data = vcpu->arch.osvw.length; in kvm_get_msr_common()
3663 msr_info->data = vcpu->arch.osvw.status; in kvm_get_msr_common()
3666 if (!msr_info->host_initiated && in kvm_get_msr_common()
3669 msr_info->data = vcpu->arch.msr_platform_info; in kvm_get_msr_common()
3672 msr_info->data = vcpu->arch.msr_misc_features_enables; in kvm_get_msr_common()
3675 msr_info->data = vcpu->arch.msr_hwcr; in kvm_get_msr_common()
3678 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index)) in kvm_get_msr_common()
3679 return kvm_pmu_get_msr(vcpu, msr_info); in kvm_get_msr_common()