I am trying to reserve a block of memory (>16MB) starting from 0 and hide it from kernel. A consequence is that DMA zone now has size 0. That causes
many drivers to grief (OOMs).
I see two ways out:
1. Modify individual drivers and convince them not to alloc with GFP_DMA.
I have been trying to do this but do not seem to see an end of it. :)
2. Simply lie and increase MAX_DMA_ADDRESS to really big (like 1GB) so that
the whole memory region belongs to DMA zone.
#2 sounds pretty hackish. I am sure something bad will happen
sooner or later (like what?). But so far it appears to be working fine.
The fundamental question is: Has anybody tried to run Linux without 0 sized
DMA zone before? Am I doing something that nobody has done before (which is
something really hard to believe these days with Linux :P)?
Cheers.
Jun