Skip to content

Commit eb2bbca

Browse files
Alexandru-Cezar Sardanalsrdn
authored andcommitted
arch/x86_64: save additional MSRs
Allow saving these additional guest writable MSRs to preserve functionality after snapshot and resume: * MSR_MISC_FEATURE_ENABLES to preserve CPUID fault * MSR_K7_HWCR to preserve value written * MSR_KVM_POLL_CONTROL to preserve HLT polling request * MSR_KVM_ASYNC_PF_INT to preserve ASYNC PF interrupt vector Signed-off-by: Alexandru-Cezar Sardan <[email protected]>
1 parent 24b02aa commit eb2bbca

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/arch/src/x86_64/msr.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ const MSR_KVM_SYSTEM_TIME_NEW: u32 = 0x4b56_4d01;
5050
const MSR_KVM_ASYNC_PF_EN: u32 = 0x4b56_4d02;
5151
const MSR_KVM_STEAL_TIME: u32 = 0x4b56_4d03;
5252
const MSR_KVM_PV_EOI_EN: u32 = 0x4b56_4d04;
53+
const MSR_KVM_POLL_CONTROL: u32 = 0x4b56_4d05;
54+
const MSR_KVM_ASYNC_PF_INT: u32 = 0x4b56_4d06;
5355

5456
/// Taken from arch/x86/include/asm/msr-index.h
5557
const MSR_IA32_SPEC_CTRL: u32 = 0x0000_0048;
@@ -167,6 +169,10 @@ static ALLOWED_MSR_RANGES: &[MsrRange] = &[
167169
SINGLE_MSR!(MSR_GS_BASE),
168170
SINGLE_MSR!(MSR_KERNEL_GS_BASE),
169171
SINGLE_MSR!(MSR_TSC_AUX),
172+
SINGLE_MSR!(MSR_MISC_FEATURE_ENABLES),
173+
SINGLE_MSR!(MSR_K7_HWCR),
174+
SINGLE_MSR!(MSR_KVM_POLL_CONTROL),
175+
SINGLE_MSR!(MSR_KVM_ASYNC_PF_INT),
170176
];
171177

172178
/// Specifies whether a particular MSR should be included in vcpu serialization.

0 commit comments

Comments
 (0)