HV_PARTITION_PRIVILEGE_MASK
Eine Partition kann ihre Berechtigungsmaske über die CPUID Leaf -0x40000003 "Hypervisor Feature Identification" abfragen.
Syntax
typedef struct
{
// Access to virtual MSRs
UINT64 AccessVpRunTimeReg:1;
UINT64 AccessPartitionReferenceCounter:1;
UINT64 AccessSynicRegs:1;
UINT64 AccessSyntheticTimerRegs:1;
UINT64 AccessIntrCtrlRegs:1;
UINT64 AccessHypercallMsrs:1;
UINT64 AccessVpIndex:1;
UINT64 AccessResetReg:1;
UINT64 AccessStatsReg:1;
UINT64 AccessPartitionReferenceTsc:1;
UINT64 AccessGuestIdleReg:1;
UINT64 AccessFrequencyRegs:1;
UINT64 AccessDebugRegs:1;
UINT64 AccessReenlightenmentControls:1
UINT64 Reserved1:18;
// Access to hypercalls
UINT64 CreatePartitions:1;
UINT64 AccessPartitionId:1;
UINT64 AccessMemoryPool:1;
UINT64 Reserved: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 Reserved:1
UINT64 Reserved:1;
UINT64 Reserved:1;
UINT64 AccessVSM:1;
UINT64 AccessVpRegisters:1;
UINT64 Reserved:1;
UINT64 Reserved:1;
UINT64 EnableExtendedHypercalls:1;
UINT64 StartVirtualProcessor:1;
UINT64 Reserved3:10;
} HV_PARTITION_PRIVILEGE_MASK;
Jede Berechtigung steuert den Zugriff auf eine Reihe synthetischer MSRs oder Hypercalls.
Berechtigungsflag | Bedeutung |
---|---|
AccessVpRunTimeReg |
Die Partition hat Zugriff auf die synthetische MSR-HV_X64_MSR_VP_RUNTIME. |
AccessPartitionReferenceCounter |
Die Partition hat Zugriff auf die partitionsweite Referenzanzahl MSR, HV_X64_MSR_TIME_REF_COUNT. |
AccessSynicRegs |
Die Partition hat Zugriff auf die synthetischen MSRs, die synic zugeordnet sind (HV_X64_MSR_SCONTROL über HV_X64_MSR_EOM und HV_X64_MSR_SINT0 über HV_X64_MSR_SINT15). |
AccessSyntheticTimerMsrs |
Die Partition hat Zugriff auf die synthetischen MSRs, die synic zugeordnet sind (HV_X64_MSR_STIMER0_CONFIG bis HV_X64_MSR_STIMER3_COUNT). |
AccessIntrCtrlRegs |
Die Partition hat Zugriff auf die synthetischen MSRs, die dem APIC (HV_X64_MSR_EOI, HV_X64_MSR_ICR und HV_X64_MSR_TPR) zugeordnet sind. |
AccessHypercallMsrs |
Die Partition hat Zugriff auf die synthetischen MSRs im Zusammenhang mit der Hypercall-Schnittstelle (HV_X64_MSR_GUEST_OS_ID und HV_X64_MSR_HYPERCALL). |
AccessVpIndex |
Die Partition hat Zugriff auf die synthetische MSR, die den index des virtuellen Prozessors zurückgibt. |
AccessResetReg |
Diese Partition hat Zugriff auf die synthetische MSR, die das System zurücksetzt. |
AccessStatsReg |
Diese Partition hat Zugriff auf die synthetischen MSRs, mit denen der Gast seine eigenen Statistikseiten zuordnen und die Zuordnung aufheben kann. |
AccessPartitionReferenceTsc |
Die Partition hat Zugriff auf den Referenz-TSC. |
AccessGuestIdleReg |
Die Partition hat Zugriff auf die synthetische MSR, mit der der Gast in den Gastzustand im Leerlauf wechseln kann. |
AccessFrequencyRegs |
Die Partition hat Zugriff auf die synthetischen MSRs, die die TSC- und APIC-Frequenzen bereitstellen, sofern unterstützt. |
AccessDebugRegs |
Die Partition hat Zugriff auf die synthetischen MSRs, die für einige Formen des Gastdebuggens verwendet werden. |
AccessReenlightenmentControls |
Die Partition hat Zugriff auf Steuerelemente zur erneuten Beleuchtung. |
CreatePartitions |
Die Partition kann den Hypercall HvCallCreatePartition aufrufen. Die Partition kann auch andere Hypercalls ausführen, die auf den Betrieb mit untergeordneten Elementen beschränkt sind. |
AccessPartitionId |
Die Partition kann die Hypercall HvCallGetPartitionId aufrufen, um eine eigene Partitions-ID zu erhalten. |
AccessMemoryPool |
Die Partition kann die Hypercalls HvCallDepositMemory, HvCallWithdrawMemory und HvCallGetMemoryBalance aufrufen. |
PostMessages |
Die Partition kann die Hypercall HvCallPostMessage aufrufen. |
SignalEvents |
Die Partition kann den Hypercall HvCallSignalEvent aufrufen. |
CreatePort |
Die Partition kann den Hypercall HvCallCreatePort aufrufen. |
PostMessages |
Die Partition kann die Hypercall HvCallPostMessage aufrufen. |
ConnectPort |
Die Partition kann den Hypercall HvCallConnectPort aufrufen. |
AccessStats |
Die Partition kann die Hypercalls HvCallMapStatsPage und HvCallUnmapStatsPage aufrufen. |
Debugging |
Die Partition kann die Hypercalls HvCallPostDebugData, HvCallRetrieveDebugData und HvCallResetDebugSession aufrufen. |
CpuManagement |
Die Partition kann verschiedene Hypercalls für die CPU-Verwaltung aufrufen. |
AccessVSM |
Die Partition kann VSM verwenden. |
AccessVpRegisters |
Die Partition kann die Hypercalls HvCallSetVpRegisters und HvCallGetVpRegisters aufrufen. |
EnableExtendedHypercalls |
Die Partition kann die erweiterte Hypercall-Schnittstelle verwenden. |
StartVirtualProcessor |
Die Partition kann HvCallStartVirtualProcessor verwenden, um virtuelle Prozessoren zu initialisieren. |