分页: 1 / 1

Linux 内存管理的临时页表

发表于 : 2022-08-24 10:15
mcusxq
最近在看linux内存管理,从boot调到kernel时,在head.S中创建了临时页表,以便开启mmu后,可以通过虚拟地址能够正确访问到内核。但是在进入start_kernel后会将这个临时页表删除并且重新建立,这里如果先删除了页表,那不就没有映射了,代码后续怎么运行呢?希望知道的朋友帮忙解答下,谢谢

Re: Linux 内存管理的临时页表

发表于 : 2022-08-24 19:14
astolia
mcusxq 写了: 2022-08-24 10:15 这里如果先删除了页表,那不就没有映射了,代码后续怎么运行呢?
遇事不决读代码。https://elixir.bootlin.com/linux/v5.19/ ... d64.c#L322
你对“删除”的理解错误,linux并没有去碰存放内核符号地址映射的初期页表项