хвкаллфлушгуестфисикаладдресслистHvCallFlushGuestPhysicalAddressList

Вызов Хвкаллфлушгуестфисикаладдресслист делает кэшированный GPA в кэше ГВА/L2 в сопоставлениях GPA в пределах области памяти второго уровня.The HvCallFlushGuestPhysicalAddressList hypercall invalidates cached GVA / L2 GPA to GPA mappings within a portion of a second level address space.

ИнтерфейсInterface

HV_STATUS
HvCallFlushGuestPhysicalAddressList(
   _In_ HV_SPA AddressSpace,
   _In_ UINT64 Flags,
   _In_reads_(RangeCount) PHV_GPA_PAGE_RANGE GpaRangeList
   );

Этот вызов можно использовать только с вложенной виртуализацией.This hypercall can only be used with nested virtualization is active. Операция недействительности виртуального TLB действует на всех процессорах.The virtual TLB invalidation operation acts on all processors.

Этот вызов гарантирует, что Управление временем возвращает вызывающему объекту, что произошло наблюдаемое воздействие всех операций очистки.This call guarantees that by the time control returns to the caller, the observable effects of all flushes have occurred. Если TLB в настоящий момент заблокирована, виртуальный процессор вызывающего объекта приостанавливается.If the TLB is currently “locked”, the caller’s virtual processor is suspended.

Этот вызов принимает список диапазонов GPA L2 для записи на диск.This call takes a list of L2 GPA ranges to flush. Каждый диапазон имеет базовый GPA-объект L2.Each range has a base L2 GPA. Поскольку операции записи на диск выполняются с гранулярностью, для определения длины диапазона можно использовать нижние 12 бит в GPA-записи L2.Because flushes are performed with page granularity, the bottom 12 bits of the L2 GPA can be used to define a range length. Эти биты закодируются количество дополнительных страниц (за пределами начальной страницы) в диапазоне.These bits encode the number of additional pages (beyond the initial page) within the range. Это позволяет каждой записи кодировать диапазон от 1 до 4096 страниц.This allows each entry to encode a range of 1 to 4096 pages.

Код вызоваCall Code

0x00B0 Склад0x00B0 (Rep)

Входные параметрыInput Parameters

ИмяName OffsetOffset РазмерSize Предоставленные сведенияInformation Provided
AddressSpace 00 88 Задает идентификатор адресного пространства (указатель таблицы EPT PML4).Specifies an address space ID (EPT PML4 table pointer).
Flags 88 88 рсвдзRsvdZ

Элемент списка входных данныхInput List Element

ИмяName OffsetOffset РазмерSize Предоставленные сведенияInformation Provided
GpaRange 00 88 Диапазон GPAGPA range