Lines 93-98
static bool has_msr_hv_frequencies;
Link Here
|
93 |
static bool has_msr_hv_reenlightenment; |
93 |
static bool has_msr_hv_reenlightenment; |
94 |
static bool has_msr_xss; |
94 |
static bool has_msr_xss; |
95 |
static bool has_msr_spec_ctrl; |
95 |
static bool has_msr_spec_ctrl; |
|
|
96 |
static bool has_msr_virt_ssbd; |
96 |
static bool has_msr_smi_count; |
97 |
static bool has_msr_smi_count; |
97 |
|
98 |
|
98 |
static uint32_t has_architectural_pmu_version; |
99 |
static uint32_t has_architectural_pmu_version; |
Lines 1233-1238
static int kvm_get_supported_msrs(KVMState *s)
Link Here
|
1233 |
case MSR_IA32_SPEC_CTRL: |
1234 |
case MSR_IA32_SPEC_CTRL: |
1234 |
has_msr_spec_ctrl = true; |
1235 |
has_msr_spec_ctrl = true; |
1235 |
break; |
1236 |
break; |
|
|
1237 |
case MSR_VIRT_SSBD: |
1238 |
has_msr_virt_ssbd = true; |
1239 |
break; |
1236 |
} |
1240 |
} |
1237 |
} |
1241 |
} |
1238 |
} |
1242 |
} |
Lines 1721-1726
static int kvm_put_msrs(X86CPU *cpu, int level)
Link Here
|
1721 |
if (has_msr_spec_ctrl) { |
1725 |
if (has_msr_spec_ctrl) { |
1722 |
kvm_msr_entry_add(cpu, MSR_IA32_SPEC_CTRL, env->spec_ctrl); |
1726 |
kvm_msr_entry_add(cpu, MSR_IA32_SPEC_CTRL, env->spec_ctrl); |
1723 |
} |
1727 |
} |
|
|
1728 |
if (has_msr_virt_ssbd) { |
1729 |
kvm_msr_entry_add(cpu, MSR_VIRT_SSBD, env->virt_ssbd); |
1730 |
} |
1731 |
|
1724 |
#ifdef TARGET_X86_64 |
1732 |
#ifdef TARGET_X86_64 |
1725 |
if (lm_capable_kernel) { |
1733 |
if (lm_capable_kernel) { |
1726 |
kvm_msr_entry_add(cpu, MSR_CSTAR, env->cstar); |
1734 |
kvm_msr_entry_add(cpu, MSR_CSTAR, env->cstar); |
Lines 2100-2107
static int kvm_get_msrs(X86CPU *cpu)
Link Here
|
2100 |
if (has_msr_spec_ctrl) { |
2108 |
if (has_msr_spec_ctrl) { |
2101 |
kvm_msr_entry_add(cpu, MSR_IA32_SPEC_CTRL, 0); |
2109 |
kvm_msr_entry_add(cpu, MSR_IA32_SPEC_CTRL, 0); |
2102 |
} |
2110 |
} |
2103 |
|
2111 |
if (has_msr_virt_ssbd) { |
2104 |
|
2112 |
kvm_msr_entry_add(cpu, MSR_VIRT_SSBD, 0); |
|
|
2113 |
} |
2105 |
if (!env->tsc_valid) { |
2114 |
if (!env->tsc_valid) { |
2106 |
kvm_msr_entry_add(cpu, MSR_IA32_TSC, 0); |
2115 |
kvm_msr_entry_add(cpu, MSR_IA32_TSC, 0); |
2107 |
env->tsc_valid = !runstate_is_running(); |
2116 |
env->tsc_valid = !runstate_is_running(); |
Lines 2481-2486
static int kvm_get_msrs(X86CPU *cpu)
Link Here
|
2481 |
case MSR_IA32_SPEC_CTRL: |
2490 |
case MSR_IA32_SPEC_CTRL: |
2482 |
env->spec_ctrl = msrs[i].data; |
2491 |
env->spec_ctrl = msrs[i].data; |
2483 |
break; |
2492 |
break; |
|
|
2493 |
case MSR_VIRT_SSBD: |
2494 |
env->virt_ssbd = msrs[i].data; |
2495 |
break; |
2484 |
case MSR_IA32_RTIT_CTL: |
2496 |
case MSR_IA32_RTIT_CTL: |
2485 |
env->msr_rtit_ctrl = msrs[i].data; |
2497 |
env->msr_rtit_ctrl = msrs[i].data; |
2486 |
break; |
2498 |
break; |