Welcome! Log In Create A New Profile


Virtual Memory Map of x86_64 system

Posted by xshemant 

I would like to get some information on how the virtual address space is used in a x86_64 system. I have read the mm.txt documentation in the kernel docs, however it is still a bit confusing. I was able to find a lot of information on x86 virtual memory map but not a whole lot on x86_64.

In particular, I want to know the difference between how the mapping works in a 32 bit space 3GB/1GB split versus a 64 bit address space of x86_64.

In 64 bit space, why do they have a 40 bit section for "Virtual Memory Map", what purpose does that serve ? secondly, they map all of the physical memory in a 64TB address space, which is different from x86 mapping method. The remaining sections such as userspace, vmalloc/ioremap space, kernel text and module mapping are understandable.

Please provide link to any documentation or articles that explain the x86_64 memory mapping. Explanation of each region of the address space would be most helpful.

Thank You.


Your Email:


Spam prevention:
Please, solve the mathematical question and enter the answer in the input field below. This is for blocking bots that try to post this form automatically.
Question: how much is 12 plus 10?