Поделиться через


Включение повторного сопоставления DMA для драйверов устройств

Чтобы обеспечить совместимость с защитой DMA ядра и политикой DMAGuard, драйверы устройств PCIe могут перенаправляться на прямой доступ к памяти (DMA).

Переназначения DMA для драйверов устройств защищает от повреждения памяти и вредоносных атак DMA и обеспечивает более высокий уровень совместимости для устройств. Кроме того, устройства с драйверами, совместимыми с DMA, могут запускать и выполнять DMA независимо от состояния экрана блокировки.

В системах с поддержкой защиты ядра DMA Policy DMAGuard может блокировать устройства с несовместимыми драйверами DMA, подключенными к внешним/ портам PCIe (например, M.2, Thunderbolt™), в зависимости от значения политики, заданного системным администратором.

Требования к драйверу для включения и согласия на повторную настройку DMA

Драйверы выполняют DMA с помощью следующих интерфейсов:

Чтобы настроить политику повторного сопоставления DMA для драйвера, добавьте директиву INF, например следующую в раздел установки службы:

  [MyServiceInstall_AddReg]
  HKR,Parameters,DmaRemappingCompatible,0x00010001,1    ; where 1 = opt-in

Допустимые значения для DmaRemappingCompatible :

Значение Значение
0 Устраняться. Это означает, что драйвер несовместим с перемежением DMA.
1 Войдите. Это означает, что драйвер полностью совместим с перемежением DMA.
2 Принять участие, но только в том случае, если выполняются одно или несколько следующих условий: A. Если устройство является внешним устройством (например, Громболт); B. Если проверка DMA включена в средство проверки драйверов.
Нет раздела реестра Позвольте системе определить политику.

При тестировании драйвера включите средство проверки драйверов. В целях тестирования в разделе "Проверка драйверов" значение директивы INF для выборов на внешних устройствах повышено до 1.

Используйте последнюю сборку Windows 10 с поддержкой VT-d/AMD-Vi для тестирования функциональных возможностей драйверов в системах Intel x64 и AMD64.

Предупреждение

Переназначка DMA не поддерживается для драйверов графических устройств.

Поддержка версии 3 доступна только в Windows 11. В Windows 10, если указать 3 в INF, система возвращается к значению 2.

Проверка того, что переназначение DMA включено для определенного экземпляра драйвера устройства

Чтобы проверить, был ли определенный драйвер переназначать DMA, просмотрите диспетчер устройств на вкладке "Сведения" устройства, чтобы получить значения, соответствующие свойству политики переназначивания DMA. Драйвер может запросить свойство DEVPKEY_Device_DmaRemappingPolicy , чтобы определить возможность повторного сопоставления DMA устройства. Ознакомьтесь с потенциальными возвращаемыми значениями на этой странице и обратите внимание, что эти возвращаемые значения не совпадают со значениями DmaRemappingCompatible, перечисленными в предыдущем разделе.

вкладка сведений диспетчер устройств.

Примечание.

Для Windows 10 версии 1803 и 1809 поле свойства в диспетчер устройств использует GUID {83da6326-97a6-4088-9453-a1923f573b29}[18]