You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// MSR access (read or write) - we configured all MSR writes to cause exits
270
+
WHvRunVpExitReasonX64MsrAccess => {
271
+
let msr_access = unsafe{ exit_context.Anonymous.MsrAccess};
272
+
let eax = msr_access.Rax;
273
+
let edx = msr_access.Rdx;
274
+
let written_value = (edx << 32) | eax;
275
+
let access = unsafe{ msr_access.AccessInfo.AsUINT32};
276
+
// Missing from rust bindings for some reason, see https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/265f685159dfd3b2fae8d1dcf1b7d206c31ee880/virtualization/api/hypervisor-platform/headers/WinHvPlatformDefs.h#L3020
// Note: This must be set BEFORE WHvSetupPartition for WHP, so this implementation
487
+
// is a no-op since the setup is already done in the constructor.
488
+
// For WHP, MSR intercepts must be enabled during partition creation.
489
+
// X64MsrExit bit position, missing from rust bindings for some reason.
490
+
// See https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/265f685159dfd3b2fae8d1dcf1b7d206c31ee880/virtualization/api/hypervisor-platform/headers/WinHvPlatformDefs.h#L1495
0 commit comments