Commit 53e52302 authored by Pengyu Zhang's avatar Pengyu Zhang Committed by Jonathan Corbet
Browse files

Docs/zh_CN: Fix the pfn calculation error in page_tables.rst



Synchronize the changes of origin document to fix the pfn value.

Reviewed-by: default avatarYanteng Si <si.yanteng@linux.dev>
Signed-off-by: default avatarPengyu Zhang <zpenya1314@gmail.com>
Link: https://lore.kernel.org/r/20241016141801.25487-4-zpenya1314@gmail.com


Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent a1b44f9b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ Linux 将页表定义为一个分级结构,目前有五级。对于支持的
在页粒度为 4KB 且地址范围为32位的情况下,pfn 0 对应地址0x00000000,pfn 1 对应
地址0x00001000,pfn 2 对应地址 0x00002000,以此类推,直到 pfn 0xfffff 对应
0xfffff000。如果页粒度为 16KB,则 pfn 分别对应地址 0x00004000、0x00008000
... 0xffffc000,pfn 的范围从 0 到 0x3fffff
... 0xffffc000,pfn 的范围从 0 到 0x3ffff。

如你所见,对于 4KB 页面粒度,页基址使用地址的 12-31 位,这就是为什么在这种情况下
`PAGE_SHIFT` 被定义为 12,并且 `PAGE_SIZE` 通常由页偏移定义,为 `(1 << PAGE_SHIFT)`。