It only lists the virtual addresses and not their associated physical address.There are 2 issues with the output however: If you build your kernel with CONFIG_X86_PTDUMP set, you can do cat /sys/kernel/debug/kernel_page_tablesĪnd it will walk the kernel's page table hierarchy and print it out. I was interested in printing Linux's page tables as well and I stumbled upon the nifty utility in the kernel source arch/x86/mm/dump_pagetables.c memoryīut I do not know where the code in kernel keeps the page tables to manage this direct mapping region and how to print out all the page table entries of 4 level page tables in this direct mapping region. I know that the kernel tries to map directly physical addresses to virtual addresses starting from PAGE_OFFSET for the direct mapping region ffff880000000000 - ffffc7ffffffffff (=64 TB) direct mapping of all phys. Virtual memory map with 4 level page tables: 0000000000000000 - 00007fffffffffff (=47 bits) user space, different per mmįfff800000000000 - ffff80ffffffffff (=40 bits) guard holeįfff880000000000 - ffffc7ffffffffff (=64 TB) direct mapping of all phys.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |