Hi and Happy New Year to all, I use a Linux 2.4.25 kernel on a MPC8260 custom board with 128MB of RAM. PCI is activated and my drivers are loaded as modules. The RAM is mapped at 0xC0000000 as usual.
On MPC8XX I used kmalloc and iopa to get the physical addresses of the allocated buffers. On MPC82XX I used kmalloc and __pa for the same thing and it worked fine with previous kernel. But now, when I want to use kmalloc, I get addresses like 0xC9xxxxxx. The __pa gives me physical addresses 0x09xxxxxx which are out of my physical RAM. I tried old iopa function and got some real physical addresses and the module works. The virt_to_bus gives me too addresses like 0x09xxxxxx (ie substract kernel base address 0xC0000000 as usual). I don't understand why I get virtual addresses which seem to be out of my memory and why it runs. More, I have a global variable which is a little buffer. It is also mapped at a 0xC9xxxxxx address. Has anyone an idea or a link to a detailed howto ? Thanks Bye Laurent PS : Linux console informations about memory. Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb Linux version 2.4.25 (version gcc 3.2.3) On node 0 totalpages: 32768 zone(0): 32768 pages. zone(1): 0 pages. zone(2): 0 pages. ... Memory: 127008k available (948k kernel code, 296k data, 60k init, 0k highmem) Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) Inode cache hash table entries: 8192 (order: 4, 65536 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 8192 (order: 3, 32768 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20050105/a7bb291a/attachment.htm
