mapping large amount of memory on physical addresses

scarayol at assystembrime.com scarayol at assystembrime.com
Thu Mar 17 19:51:07 EST 2005


Hello,

Could you help me : I work on embedded Linux on a MPC885 processor
(PowerPC). On my embedded system, i have 2 different components of RAM. One
(name = DV, total size of 256 MB ) is only accessed by the processor, the
other (name = MC, size = 2MB on the top of the RAM) is also access by an
FPGA. I want to do data transferts between each others. For that, I have to
allocate a big structure on DV for a size of 36 MB.
- Could I do like that to have contiguous memory on DV ?
For MC, it would be more complicated : I have to map on the physical
adresses of MC (for example 1300 0000-13FF FFFF) in order to be sure that
the memory will be really allocated on MC and not on DV (as there is enough
place on DV).
- How can I do that ?
- Do I have to write a driver and use ioremap on the physical address of MC
(with reserving the top of memory with 'mem=' at boot time) ? Can i use
physical addresses with ioremap or is it only virtual addresses ?
I think i can reserve the memory early in boot via the bootmem allocator
but i think it isn't with physical addresses only an amount of memory and
it's only forbdrivers directly linked in  the kernel image and i want a
module.
- Is there another solution to do that ?

Thank you really for your help.

Best regards.

----------------------------------------------------------
Sophie CARAYOL

TECHNOLOGIES & SYSTEMES
50 rue du Président Sadate
F - 29337 QUIMPER CEDEX

Tél: +33 2 98 10 30 06
mailto:scarayol at assystembrime.com
----------------------------------------------------------





More information about the Linuxppc-embedded mailing list