memory map
Hi,everyone.
I have some questions about the memory map on linux on 8xx and ppc 1)Some area eg BCSR mapped below KERNELBASE,is this safe? I check some process's vm area,it does not fall in this area,will it be unsafe under some circumstances?
2)I read mapin_ram() in mm/init.c ,found that phys mem is also mapped both by bat and page table ,what is this for?
Can someone help me?
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Quoted 1 line · zzh
1)Some area eg BCSR mapped below KERNELBASE,is this safe?
If you ioremap() after the kernel VM allocator is initialized, this is fine. You then get a kernel virtual address to use that will map to the physical address. Don't map this in mm/init.c initialization as this maps 1:1 because the VM is not initialized yet. The things mapped in mm/init.c should be just the minimum to debug or get the kernel booted.
Quoted 2 lines
I check some process's vm area,it does not fall in this area,will it be unsafe under some circumstances?
The "some" circumstances are incorrect mapping during the early initialization.
Quoted 2 lines
2)I read
mapin_ram()inmm/init.c,found that phys mem is also mapped both by bat and page table ,what is this for?
Physical memory is mapped by BATs, if they exist on the processor. Since the 8xx doesn't have BATs, the memory is mapped through page tables.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/