On Monday 30 May 2005 11.55, Laurent Lagrange wrote: > Hi all, > > We want to design a PCI host embedded PowerPC board with a 3Go local RAM > memory. > This processor is a MPC74xx with an internal 32 bits and an external 36 > bits address bus.
In that case it should have some a mechanism for mapping virtual address range (32 bits) to physical (36 bits). > > Usually, the mapping is : physical, only using 32 bits > 0x00000000-0x80000000 : physical RAM > 0x80000000-0xc0000000 : PCI memory access > 0xc0000000-0xf0000000 : kernel virtual memory > 0xf0000000-0xffffffff : IO area access First attempt: I would try to put the PCI memory range at 0x100000000-140000000 (above 32 bits addressable) But this will require the drivers to doing things correctly... Second attempt: Do you need all RAM to be directly usable by user application? Or would it be enough to be able to use it as a RAM disk? (with that amount of memory my guess is that this is what you really want!) Should it be nice to have it persistant over reboots? In that case put the RAM disk part above 32 bits addressable, only that RAM disk driver needs to handle the specific nature of this memory (DMA memory to memory). And several years ago I saw some ramdisk driver that could were persistent (BIOS and linux RAM memory init was set not to touch it). Add some standby power to it and it will be persistent over power failures too.. Then ask yourself - does it need to be memory mapped? Or would a IDE like interface be enough??? /RogerL