MSR Intercept Message

An MSR intercept message is delivered by the hypervisor when a virtual processor executes a RDMSR or WRMSR instruction and the parent partition previously called the HvInstallIntercept hypercall function to install an intercept on the specified MSR.

The format of MSR intercept messages is shown in the following table. An HV_X64_MSR_INTERCEPT_MESSAGE structure is used to encode a MSR intercept message.

Message Header

0

MessageType (4 bytes)

Rsvd (3 bytes)

PayloadSize

(1 byte)

8

SourcePartition (8 bytes)

MSR Intercept Payload

16

VpIndex (4 bytes)

InstLen

(1 byte)

AccessType

(1 byte)

ExecutionState

(2 bytes)

24

CsSegment[0] (8 bytes)

32

CsSegment[1] (8 bytes)

40

Rip (8 bytes)

48

Rflags (8 bytes)

56

MsrNumber (4 bytes)

Rsvd (4 bytes)

64

Rdx (8 bytes)

72

Rax (8 bytes)

 

The following list describes the fields of MSR intercept messages:

MsrNumber

The value in the RCX register that indicates the index of the MSR being accessed.

Rdx

The value in the RDX register. For writes, this value represents the top half of the value being written to the MSR.

Rax

The value in the RAX register. For writes, this value represents the bottom half of the value being written to the MSR.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.