HV_PARTITION_PRIVILEGE_MASK
Секция может запрашивать свою маску привилегий через конечный элемент CPUID (0x40000003) для идентификации функций гипервизора.
Синтаксис
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;
Каждая привилегия управляет доступом к набору искусственных msr или гипермасштабирования.
Флаг привилегий | Значение |
---|---|
AccessVpRunTimeReg |
Секция имеет доступ к синтетической HV_X64_MSR_VP_RUNTIME MSR. |
AccessPartitionReferenceCounter |
Секция имеет доступ к счетчику ссылок на уровне секции MSR, HV_X64_MSR_TIME_REF_COUNT. |
AccessSynicRegs |
Секция имеет доступ к искусственным MSR, связанным с Synic (HV_X64_MSR_SCONTROL через HV_X64_MSR_EOM и HV_X64_MSR_SINT0 через HV_X64_MSR_SINT15). |
AccessSyntheticTimerMsrs |
Секция имеет доступ к искусственным MSR, связанным с Synic (HV_X64_MSR_STIMER0_CONFIG через HV_X64_MSR_STIMER3_COUNT). |
AccessIntrCtrlRegs |
Секция имеет доступ к искусственным MSR, связанным с APIC (HV_X64_MSR_EOI, HV_X64_MSR_ICR и HV_X64_MSR_TPR). |
AccessHypercallMsrs |
Секция имеет доступ к искусственным MSR, связанным с интерфейсом гипервызова (HV_X64_MSR_GUEST_OS_ID и HV_X64_MSR_HYPERCALL). |
AccessVpIndex |
Секция имеет доступ к синтетической MSR, возвращающей индекс виртуального процессора. |
AccessResetReg |
Этот раздел имеет доступ к искусственному MSR, который сбрасывает систему. |
AccessStatsReg |
Эта секция имеет доступ к искусственным MSR, что позволяет гостевой машине сопоставлять и отменять сопоставление собственных страниц статистики. |
AccessPartitionReferenceTsc |
Секция имеет доступ к эталонной TSC. |
AccessGuestIdleReg |
Секция имеет доступ к синтетической MSR, которая позволяет гость входить в состояние бездействия гостя. |
AccessFrequencyRegs |
Секция имеет доступ к искусственным MSR, которые предоставляют частоты TSC и APIC, если это поддерживается. |
AccessDebugRegs |
Секция имеет доступ к искусственным MSR, используемым для некоторых форм гостевой отладки. |
AccessReenlightenmentControls |
Секция имеет доступ к элементам управления повторной подсветки. |
CreatePartitions |
Секция может вызывать гипервыск HvCallCreatePartition. Секция также может выполнять любые другие операции гипервызова, ограниченные для работы с дочерними элементами. |
AccessPartitionId |
Секция может вызвать гипервыск HvCallGetPartitionId для получения собственного идентификатора секции. |
AccessMemoryPool |
Секция может вызывать гипермасштабирования HvCallDepositMemory, HvCallWithdrawMemory и HvCallGetMemoryBalance. |
PostMessages |
Секция может вызывать гипервыск HvCallPostMessage. |
SignalEvents |
Секция может вызывать гипервыск HvCallSignalEvent. |
CreatePort |
Секция может вызывать гипервыск HvCallCreatePort. |
PostMessages |
Секция может вызывать гипервыск HvCallPostMessage. |
ConnectPort |
Секция может вызывать гипервсегов HvCallConnectPort. |
AccessStats |
Секция может вызывать гипермасштабирования HvCallMapStatsPage и HvCallUnmapStatsPage. |
Debugging |
Секция может вызывать гипермасштабирования HvCallPostDebugData, HvCallRetrieveDebugData и HvCallResetDebugSession. |
CpuManagement |
Секция может вызывать различные гипермасштабирования для управления ЦП. |
AccessVSM |
Секция может использовать VSM. |
AccessVpRegisters |
Секция может вызывать гипермасштабирования HvCallSetVpRegisters и HvCallGetVpRegisters. |
EnableExtendedHypercalls |
Секция может использовать расширенный интерфейс гипервызова. |
StartVirtualProcessor |
Раздел может использовать HvCallStartVirtualProcessor для инициализации виртуальных процессоров. |