Forçar o Linux a usar apenas memória acima de 4G?

Eu tenho um driver de dispositivo Linux que faz interface com um dispositivo que, em teoria, pode executar DMA usando endereços de 64 bits. Eu gostaria de testar para ver se isso realmente funciona.

Existe uma maneira simples que eu possa forçar uma máquina Linux a não usar qualquer memória abaixo do endereço físico 4G? Tudo bem se a imagem do kernel estiver com pouca memória; Eu só quero ser capaz de forçar uma situação onde eu conheço todos os meus buffers dinamicamente alocados, e qualquer kernel ou buffers de usuário alocados para mim não são endereçáveis ​​em 32 bits. Isso é um pouco de força bruta, mas seria mais abrangente do que qualquer outra coisa em que eu pudesse pensar.

Isso deve me ajudar a pegar (1) hardware que não foi configurado corretamente ou carregado com o endereço completo (ou simplesmente está quebrado), bem como (2) uso acidental e desnecessário de buffers de rejeição (porque não há para onde ir).

esclarecimento: Estou executando o x86_64, então não me importo com a maioria dos problemas antigos de endereçamento de 32 bits. Eu só quero testar se um driver pode interagir corretamente com vários buffers usando endereços físicos de 64 bits.

questionAnswers(2)

yourAnswerToTheQuestion