Skip to content

Commit ee3c649

Browse files
committed
refactor(x86_64): use generated MSR values instead of hand coded ones
Replace hand coded MTRR MSRs with auto generated ones. Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent ddd31fe commit ee3c649

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/vmm/src/cpu_config/x86_64/cpuid/common.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// SPDX-License-Identifier: Apache-2.0
33
#![allow(clippy::restriction)]
44

5+
use crate::arch::x86_64::generated::msr_index::*;
6+
57
/// Error type for [`get_cpuid`].
68
#[derive(Debug, thiserror::Error, displaydoc::Display, PartialEq, Eq)]
79
pub enum GetCpuidError {
@@ -111,19 +113,19 @@ pub(crate) fn msrs_to_save_by_cpuid(cpuid: &kvm_bindings::CpuId) -> Vec<u32> {
111113
edx,
112114
MTRR_BITINDEX,
113115
[
114-
0x250, // IA32_MTRR_FIX64K_00000
115-
0x258, // IA32_MTRR_FIX16K_80000
116-
0x259, // IA32_MTRR_FIX16K_A0000
117-
0x268, // IA32_MTRR_FIX4K_C0000
118-
0x269, // IA32_MTRR_FIX4K_C8000
119-
0x26a, // IA32_MTRR_FIX4K_D0000
120-
0x26b, // IA32_MTRR_FIX4K_D8000
121-
0x26c, // IA32_MTRR_FIX4K_E0000
122-
0x26d, // IA32_MTRR_FIX4K_E8000
123-
0x26e, // IA32_MTRR_FIX4K_F0000
124-
0x26f, // IA32_MTRR_FIX4K_F8000
125-
0x277, // IA32_PAT
126-
0x2ff // IA32_MTRR_DEF_TYPE
116+
MSR_MTRRfix64K_00000,
117+
MSR_MTRRfix16K_80000,
118+
MSR_MTRRfix16K_A0000,
119+
MSR_MTRRfix4K_C0000,
120+
MSR_MTRRfix4K_C8000,
121+
MSR_MTRRfix4K_D0000,
122+
MSR_MTRRfix4K_D8000,
123+
MSR_MTRRfix4K_E0000,
124+
MSR_MTRRfix4K_E8000,
125+
MSR_MTRRfix4K_F0000,
126+
MSR_MTRRfix4K_F8000,
127+
MSR_IA32_CR_PAT,
128+
MSR_MTRRdefType,
127129
]
128130
);
129131

0 commit comments

Comments
 (0)