Заставить Linux использовать только память свыше 4G?

У меня есть драйвер устройства Linux, который взаимодействует с устройством, которое теоретически может выполнять DMA с использованием 64-битных адресов. Я хотел бы проверить, что это на самом деле работает.

Есть ли простой способ заставить компьютер Linux не использовать память ниже физического адреса 4G? Это нормально, если образ ядра находится в нехватке памяти; Я просто хочу иметь возможность вызвать ситуацию, когда я знаю все свои динамически распределенные буферы, и любые выделенные для меня ядра или пользовательские буферы не адресуемы в 32 битах. Это немного грубой силы, но она была бы более всеобъемлющей, чем все, что я могу придумать.

Это должно помочь мне поймать (1) оборудование, которое не было правильно сконфигурировано или загружено с полным адресом (или просто повреждено), а также (2) случайное и ненужное использование буферов отказов (потому что отказов некуда).

осветление: Я использую x86_64, поэтому меня не волнует большинство старых проблем с 32-битной адресацией. Я просто хочу проверить, что драйвер может правильно взаимодействовать с множеством буферов, используя 64-битные физические адреса.

Ответы на вопрос(2)

Ваш ответ на вопрос