[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address spaces in kernel



Fawad Lateef wrote:

On 9/3/05, Thayumanavar Sachithanantham <thayumker@xxxxxxxxx> wrote:


# you have specified that the 0 - 896 MB of physical RAM being mapped to
3-4Gb in virtual addr space. How can this be possible, usually a standalone
system will have 256/512 MB of RAM. Can you please make me clear about
this? I does mean that there exists always a mapping of virtual addresses between
3-4G to physical addresses which range from 0 to 896 MB(permanent
mapping).In a 256/512 MB < 896 MB, there will be mappings of the virtual
addresses in range 3-4G to the corressponding physical addresses in the
range 0-256/512 MB. Hope this clears your doubt. Thayumanavar.






I also want to add one thing !!!! the 0 - 896MB physical addresses can be calculated by subracting PAGE_OFFSET(in default (3G/1GG) it is 0xC8000000) from the Virtual Address. So this means that for 512MB System the Virtual addresses for Kernel will be from 3G to 3G + PAGE_OFFSET + 512MB ...... (CMIIW)




I'm not sure i understand this. PAGE_OFFSET is defined as 3G (on x86). See here: http://lxr.linux.no/source/include/asm-i386/page.h#L131
Now if you want to know where Physical Address x is mapped in kernel address space, the virtual address is PAGE_OFFSET + x.


so 300MB is 3G + 300MB

HTH
-rahul


-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/