Compartir a través de


Habilitación de la reasignación de DMA para controladores de dispositivos

Para garantizar la compatibilidad con la protección DMA de Kernel y la directiva DMAGuard, los controladores de dispositivo PCIe pueden optar por reasignar el acceso directo a memoria (DMA).

La reasignación de DMA para controladores de dispositivos protege contra los daños en la memoria y los ataques DMA malintencionados, y proporciona un mayor nivel de compatibilidad para los dispositivos. Además, los dispositivos con controladores compatibles con la reasignación de DMA pueden iniciar y realizar DMA independientemente del estado de la pantalla de bloqueo.

En los sistemas habilitados para protección DMA de kernel, la directiva DMAGuard puede bloquear dispositivos, con controladores incompatibles con la reasignación de DMA, conectados a puertos PCIe expuestos externos/(por ejemplo, M.2, Thunderbolt™), en función del valor de directiva establecido por el administrador del sistema.

Requisitos del controlador para habilitar y participar en la reasignación de DMA

Los controladores realizan DMA mediante las interfaces siguientes:

Para ajustar la directiva de reasignación de DMA para el controlador, agregue una directiva INF como la siguiente a la sección de instalación del servicio:

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

Los valores válidos para DmaRemappingCompatible son:

Valor Significado
0 No participar. Esto indica al sistema que el controlador no es compatible con la reasignación de DMA.
1 Participar. Esto indica al sistema que el controlador es totalmente compatible con la reasignación de DMA.
2 Participar, pero solo cuando se cumplen una o varias de las condiciones siguientes: A. Si el dispositivo es un dispositivo externo (por ejemplo, Rayo); B. Si la comprobación de DMA está habilitada en Comprobador de controladores.
Sin clave del Registro Deje que el sistema determine la directiva.

Al probar el controlador, habilite Comprobador de controladores. Con fines de prueba en Comprobador de controladores, el valor de la directiva INF para participar en dispositivos externos se promueve a 1.

Usa la última compilación de Windows 10 con VT-d/AMD-Vi habilitado para probar la funcionalidad del controlador en sistemas Intel x64 y AMD64.

Advertencia

No se admite la reasignación de DMA para controladores de dispositivos gráficos.

La compatibilidad con la versión 3 solo está disponible en Windows 11. En Windows 10, si especificas 3 en inf, el sistema vuelve a un valor de 2.

Validación de que la reasignación de DMA está habilitada para una instancia de controlador de dispositivo específica

Para comprobar si un controlador específico ha optado por la reasignación de DMA, busque en Administrador de dispositivos, en la pestaña Detalles del dispositivo, para los valores correspondientes a la propiedad de directiva de reasignación de DMA. Un controlador puede consultar la propiedad DEVPKEY_Device_DmaRemappingPolicy para determinar la funcionalidad de reasignación de DMA del dispositivo. Vea los valores devueltos potenciales en esa página y tenga en cuenta que estos valores devueltos no son los mismos que los valores de DmaRemappingCompatible enumerados en la sección anterior.

Administrador de dispositivos pestaña Detalles.

Nota:

Para Windows 10, versiones 1803 y 1809, el campo de propiedad de Administrador de dispositivos usa un GUID {83da6326-97a6-4088-9453-a1923f573b29}[18]