Freigeben über


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.