Compartilhar via


Habilitando o remapeamento de DMA para drivers de dispositivo

Para garantir a compatibilidade com a Proteção contra DMA do Kernel e a Política de DMAGuard, os drivers de dispositivo PCIe podem optar pela remapeamento do DMA (Acesso Direto à Memória).

O remapeamento de DMA para drivers de dispositivo protege contra corrupção de memória e ataques de DMA mal-intencionados e fornece um nível mais alto de compatibilidade para dispositivos. Além disso, dispositivos com drivers compatíveis com remapeamento de DMA podem iniciar e executar o AMD, independentemente da tela de bloqueio status.

Em sistemas habilitados para Proteção contra DMA do Kernel, a Política DMAGuard pode bloquear dispositivos, com drivers incompatíveis com remapeamento de DMA, conectados a/ portas PCIeexternas expostas (por exemplo, M.2, Thunderbolt™), dependendo do valor da política definido pelo administrador do sistema.

Requisitos de driver para habilitar e aceitar o remapeamento de DMA

Os drivers executam o AMD usando as seguintes interfaces:

Para ajustar a política de remapeamento de DMA para o driver, adicione uma diretiva INF, como a seguinte, à seção de instalação do serviço:

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

Os valores válidos para DmaRemappingCompatible são:

Valor Significado
0 Recusar. Isso indica ao sistema que o driver é incompatível com o remapeamento de DMA.
1 Aceitar. Isso indica ao sistema que o driver é totalmente compatível com o remapeamento de DMA.
2 Aceite, mas somente quando uma ou mais das seguintes condições forem atendidas: A. Se o dispositivo for um dispositivo externo (por exemplo, Thunderbolt); B. Se a verificação de DMA estiver habilitada no Verificador de Driver.
Nenhuma chave do Registro Deixe o sistema determinar a política.

Ao testar o driver, habilite o Verificador de Driver. Para fins de teste no Verificador de Driver, o valor da diretiva INF para aceitar dispositivos externos é promovido para 1.

Use o build de Windows 10 mais recente com o VT-d/AMD-Vi habilitado para testar a funcionalidade do driver em sistemas Intel x64 e AMD64.

Aviso

Não há suporte para remapeamento de DMA para drivers de dispositivo gráfico.

O suporte para a versão 3 só está disponível em Windows 11. Em Windows 10, se você especificar 3 no INF, o sistema retornará para um valor de 2.

Validar se o remapeamento de DMA está habilitado para uma instância específica do driver de dispositivo

Para marcar se um driver específico optou pelo remapeamento de DMA, procure Gerenciador de Dispositivos, na guia Detalhes do dispositivo, os valores correspondentes à propriedade de política de remapeamento de DMA. Um driver pode consultar a propriedade DEVPKEY_Device_DmaRemappingPolicy para determinar a funcionalidade de remapeamento de DMA do dispositivo. Veja possíveis valores retornados nessa página e observe que esses valores retornados não são os mesmos que os valores de DmaRemappingCompatible listados na seção anterior.

guia Detalhes do Gerenciador de Dispositivos.

Observação

Para Windows 10, versões 1803 e 1809, o campo de propriedade em Gerenciador de Dispositivos usa um GUID {83da6326-97a6-4088-9453-a1923f573b29}[18]