HV_PARTITION_PRIVILEGE_MASK union
The HV_PARTITION_PRIVILEGE_MASK union identifies the synthetic MSRs and hypercalls a partition can access.
Syntax
typedef union _HV_PARTITION_PRIVILEGE_MASK { UINT64 AsUINT64 :1; UINT64 AccessVpRunTimeMsr :1; UINT64 AccessPartitionReferenceCounter :1; UINT64 AccessSynicMsrs :1; UINT64 AccessSyntheticTimerMsrs :1; UINT64 AccessApicMsrs :1; UINT64 AccessHypercallMsrs :1; UINT64 AccessVpIndex :1; UINT64 AccessResetMsr :1; UINT64 AccessStatsMsr :1; UINT64 AccessPartitionReferenceTsc :1; UINT64 AccessGuestIdleMsr :1; UINT64 Reserved1 :21; UINT64 CreatePartitions :1; UINT64 AccessPartitionId :1; UINT64 AccessMemoryPool :1; UINT64 AdjustMessageBuffers :1; UINT64 PostMessages :1; UINT64 SignalEvents :1; UINT64 CreatePort :1; UINT64 ConnectPort :1; UINT64 AccessStats :1; UINT64 Reserved2 :2; UINT64 Debugging :1; UINT64 CpuManagement :1; UINT64 ConfigureProfiler :1; UINT64 Reserved3 :18; } HV_PARTITION_PRIVILEGE_MASK, *PHV_PARTITION_PRIVILEGE_MASK;
Members
- AsUINT64
-
A member in the union that can hold one 64-bit value that identifies the synthetic MSRs and hypercalls a partition can access.
- AccessVpRunTimeMsr
-
A UINT64 value that specifies whether the partition has access to the synthetic MSR HV_X64_MSR_VP_RUNTIME. The default value of this flag is 1. If this flag is cleared (set to 0), accesses to this MSR result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the first bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000001).
- AccessPartitionReferenceCounter
-
A UINT64 value that specifies whether the partition has access to the partition-wide reference count MSR, HV_X64_MSR_TIME_REF_COUNT. The default value of this flag is 1. If this flag is cleared (set to 0), accesses to this MSR result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the second bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000002).
- AccessSynicMsrs
-
A UINT64 value that specifies whether the partition has access to the synthetic MSRs that are associated with the Synic (HV_X64_MSR_SCONTROL through HV_X64_MSR_EOM and HV_X64_MSR_SINT0 through HV_X64_MSR_SINT15). The default value of this flag is 1. If this flag is cleared (set to 0), accesses to these MSRs result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the third bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000004).
- AccessSyntheticTimerMsrs
-
A UINT64 value that specifies whether the partition has access to the synthetic MSRs that are associated with the Synic (HV_X64_MSR_STIMER0_CONFIG through HV_X64_MSR_STIMER3_COUNT). The default value of this flag is 1. If this flag is cleared (set to 0), accesses to these MSRs result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the fourth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000008).
- AccessApicMsrs
-
A UINT64 value that specifies whether the partition has access to the synthetic MSRs that are associated with the APIC (HV_X64_MSR_EOI, HV_X64_MSR_ICR and HV_X64_MSR_TPR). The default value of this flag is 1. If this flag is cleared (set to 0), accesses to these MSRs result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the fifth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000010).
- AccessHypercallMsrs
-
A UINT64 value that specifies whether the partition has access to the synthetic MSRs that are related to the hypercall interface (HV_X64_MSR_GUEST_OS_ID and HV_X64_MSR_HYPERCALL). The default value of this flag is 1. If this flag is cleared (set to 0), accesses to these MSRs result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the sixth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000020).
- AccessVpIndex
-
A UINT64 value that specifies whether the partition has access to the synthetic MSR that returns the virtual processor index. The default value of this flag is 1. If this flag is cleared (set to 0), accesses to this MSR result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the seventh bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000040).
- AccessResetMsr
-
A UINT64 value that specifies whether the partition has access to the synthetic MSR that resets the system. The default value of this flag is 1. If this flag is cleared (set to 0), accesses to this MSR result in a #GP fault if the MSR intercept is not installed. Setting this member is equivalent to setting the eighth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000080).
- AccessStatsMsr
-
A UINT64 value that specifies whether the partition has access to the synthetic MSR that allows the guest operating system to map and unmap its own statistics pages. The default value of this flag is 1. Setting this member is equivalent to setting the ninth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000100).
- AccessPartitionReferenceTsc
-
A UINT64 value that specifies whether the partition has access to the reference Time Stamp Counter (TSC). The default value of this flag is 0. Setting this member is equivalent to setting the tenth bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000200).
- AccessGuestIdleMsr
-
A UINT64 value that specifies whether the partition has access to the synthetic MSR that allows the guest operating system to enter the guest idle state. The default value of this flag is 1. Setting this member is equivalent to setting the eleventh bit of the first 32 bits of the 64-bit AsUINT64 member (0x00000400).
- Reserved1
-
This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 21 bits (0xFFFFF800) of the first 32 bits of the 64-bit AsUINT64 member to zeros.
- CreatePartitions
-
A UINT64 value that specifies whether the partition can call the hypercall HvCreatePartition. The partition also can make any other hypercall that is restricted to operating on children. The default value of this flag is 0. Setting this member is equivalent to setting the first bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000001).
- AccessPartitionId
-
A UINT64 value that specifies whether the partition can call the hypercall HvGetPartitionId. The default value of this flag is 0. Setting this member is equivalent to setting the second bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000002).
- AccessMemoryPool
-
A UINT64 value that specifies whether the partition can call the hypercalls HvDepositMemory, HvWithdrawMemory, and HvGetMemoryBalance. The default value of this flag is 0. Setting this member is equivalent to setting the third bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000004).
- AdjustMessageBuffers
-
A UINT64 value that specifies whether the partition can call the hypercall . The default value of this flag is 0. Setting this member is equivalent to setting the fourth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000008).
- PostMessages
-
A UINT64 value that specifies whether the partition can call the hypercall HvPostMessage. The default value of this flag is 0. Setting this member is equivalent to setting the fifth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000010).
- SignalEvents
-
A UINT64 value that specifies whether the partition can call the hypercall HvSignalEvent. The default value of this flag is 0. Setting this member is equivalent to setting the sixth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000020).
- CreatePort
-
A UINT64 value that specifies whether the partition can call the hypercall HvCreatePort. The default value of this flag is 0. Setting this member is equivalent to setting the seventh bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000040).
- ConnectPort
-
A UINT64 value that specifies whether the partition can call the hypercall HvConnectPort. The default value of this flag is 0. Setting this member is equivalent to setting the eighth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000080).
- AccessStats
-
A UINT64 value that specifies whether the partition can call the hypercalls HvMapStatsPage and HvUnmapStatsPage. The default value of this flag is 0. Setting this member is equivalent to setting the ninth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000100).
- Reserved2
-
This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the tenth and eleventh bits (0x00000600) of the second 32 bits of the 64-bit AsUINT64 member to zeros.
- Debugging
-
A UINT64 value that specifies whether the partition can call the hypercalls HvPostDebugData, HvRetrieveDebugData, and HvResetDebugSession. Setting this member is equivalent to setting the twelfth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00000800).
- CpuManagement
-
A UINT64 value that specifies whether the partition can call the hypercalls HvGetLogicalProcessorRunTime, and HvParkLogicalProcessors . CpuManagement also specifies whether the partition can access the power management MSRs. Setting this member is equivalent to setting the thirteenth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00001000).
- ConfigureProfiler
-
A UINT64 value that specifies whether the partition can call the hypercall. Setting this member is equivalent to setting the fourteenth bit of the second 32 bits of the 64-bit AsUINT64 member (0x00002000).
- Reserved3
-
This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 18 bits (0xFFFFC000) of the second 32 bits of the 64-bit AsUINT64 member to zeros.
Requirements
Header |
|
---|
See also
- HvCreatePartition
- HvGetPartitionId
- HvDepositMemory
- HvWithdrawMemory
- HvGetMemoryBalance
- HvPostMessage
- HvSignalEvent
- HvCreatePort
- HvConnectPort
- HvMapStatsPage
- HvUnmapStatsPage
- HvPostDebugData
- HvRetrieveDebugData
- HvResetDebugSession
- HvParkLogicalProcessors
- HvGetLogicalProcessorRunTime
Send comments about this topic to Microsoft
Build date: 11/16/2013