Making only part of memory DMA-able [CONFIG_DISCONTIGMEM?]

Anders Blomdell anders.blomdell at control.lth.se
Sat Jan 25 02:34:46 EST 2003


Hi,

I'm trying to get my PrPMC800's running as NON-MONARCHS, but I have
problems with DMA memory. Since the system is a NON-MONARCH, it has to be
satisfied with whatever PCI-window is given to it by the PCI-monarch (which
is not a Linux system).

The simple solution to this is to tweak the 'zones_size' array passed to
'free_area_init' to only make as much memory DMA-able as is given by the
PCI-monarch, unfortunately this only works if the PCI-window is bigger than
'1<<(PAGE_SHIFT+MAX_ORDER-1)' (due to alignment requirements in 'page_alloc.
c'), and even then the DMA-able area will be less than optimal, since the
DMA adresses starts at low addresses, and thus are filled with kernel pages,
  which does not need to be DMA-able.

Is there anybody working on DISCONTIGOUS memory allocation for PowerPC's,
that could shed some light on what should be done? A lot of memory
management seems to be specialized for CONFIG_440, which further clutters
my vision...

Regards

Anders Blomdell

------------------------------------------------------------------------------
  Anders Blomdell
  Department of Automatic Control        Email: anders.blomdell at control.lth.
se
  Lund Institute of Technology           Phone: +46 46 222 4625
  Box 118, S-221 00 Lund, Sweden         Fax:   +46 46 138118


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list