[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CACCnfy8-+29ZOOBFmbhUb4KKhm73zUXL9VaOXM6+-cfR9f5ekw@mail.gmail.com>
Date: Tue, 21 Dec 2021 15:05:34 -0500
From: BOTONG OU <richard97@...cla.edu>
To: linux-kernel@...r.kernel.org
Subject: Linux kernel page table creation for X86_64 system
Hi,
I am recently learning how the Linux kernel page table is created for
the X86_64 system. Here are some questions I have:
1. When the actual initial kernel page table is created which is
init_top_pgt, there are some entries of it that are initialized. As
far as I know, kernel mapping area (map to kernel image), direct
mapping (0-1GB), vmemmap, ioremap, and vmalloc area in the initial
kernel page table are initialized and mapped to physical memory. Is
this correct? Is there any other area I am missing?
2. In order to handle the 128TB kernel physical memory, more page
tables have to be created to map to the physical memory. However, I
can't find in the kernel where are the extra page tables being
created. Does the kernel create the extra page tables using, for
example, pgd_alloc interface? or other interfaces.
Thanks for answering my questions.
Best,
Botong
Powered by blists - more mailing lists