-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Documentation:Chinese translation of Documentation/arm64/memory.txt
This is a Chinese translated version of Documentation/arm64/memory.txt Signed-off-by: Fu Wei <tekkamanninja@gmail.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- Loading branch information
Tekkaman Ninja
authored and
Greg Kroah-Hartman
committed
Oct 25, 2012
1 parent
4bdac7b
commit bf34be0
Showing
1 changed file
with
93 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
Chinese translated version of Documentation/arm64/memory.txt | ||
|
||
If you have any comment or update to the content, please contact the | ||
original document maintainer directly. However, if you have a problem | ||
communicating in English you can also ask the Chinese maintainer for | ||
help. Contact the Chinese maintainer if this translation is outdated | ||
or if there is a problem with the translation. | ||
|
||
Maintainer: Catalin Marinas <catalin.marinas@arm.com> | ||
Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | ||
--------------------------------------------------------------------- | ||
Documentation/arm64/memory.txt 的中文翻译 | ||
|
||
如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | ||
交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | ||
译存在问题,请联系中文版维护者。 | ||
|
||
英文版维护者: Catalin Marinas <catalin.marinas@arm.com> | ||
中文版维护者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | ||
中文版翻译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | ||
中文版校译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | ||
|
||
以下为正文 | ||
--------------------------------------------------------------------- | ||
Linux 在 AArch64 中的内存布局 | ||
=========================== | ||
|
||
作者: Catalin Marinas <catalin.marinas@arm.com> | ||
日期: 2012 年 02 月 20 日 | ||
|
||
本文档描述 AArch64 Linux 内核所使用的虚拟内存布局。此构架可以实现 | ||
页大小为 4KB 的 4 级转换表和页大小为 64KB 的 3 级转换表。 | ||
|
||
AArch64 Linux 使用页大小为 4KB 的 3 级转换表配置,对于用户和内核 | ||
都有 39-bit (512GB) 的虚拟地址空间。对于页大小为 64KB的配置,仅 | ||
使用 2 级转换表,但内存布局相同。 | ||
|
||
用户地址空间的 63:39 位为 0,而内核地址空间的相应位为 1。TTBRx 的 | ||
选择由虚拟地址的 63 位给出。swapper_pg_dir 仅包含内核(全局)映射, | ||
而用户 pgd 仅包含用户(非全局)映射。swapper_pgd_dir 地址被写入 | ||
TTBR1 中,且从不写入 TTBR0。 | ||
|
||
|
||
AArch64 Linux 内存布局: | ||
|
||
起始地址 结束地址 大小 用途 | ||
----------------------------------------------------------------------- | ||
0000000000000000 0000007fffffffff 512GB 用户空间 | ||
|
||
ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc | ||
|
||
ffffffbbfffd0000 ffffffbcfffdffff 64KB [防护页] | ||
|
||
ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O 空间 | ||
|
||
ffffffbbffff0000 ffffffbcffffffff 64KB [防护页] | ||
|
||
ffffffbc00000000 ffffffbdffffffff 8GB vmemmap | ||
|
||
ffffffbe00000000 ffffffbffbffffff ~8GB [防护页,未来用于 vmmemap] | ||
|
||
ffffffbffc000000 ffffffbfffffffff 64MB 模块 | ||
|
||
ffffffc000000000 ffffffffffffffff 256GB 内存空间 | ||
|
||
|
||
4KB 页大小的转换表查找: | ||
|
||
+--------+--------+--------+--------+--------+--------+--------+--------+ | ||
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| | ||
+--------+--------+--------+--------+--------+--------+--------+--------+ | ||
| | | | | | | ||
| | | | | v | ||
| | | | | [11:0] 页内偏移 | ||
| | | | +-> [20:12] L3 索引 | ||
| | | +-----------> [29:21] L2 索引 | ||
| | +---------------------> [38:30] L1 索引 | ||
| +-------------------------------> [47:39] L0 索引 (未使用) | ||
+-------------------------------------------------> [63] TTBR0/1 | ||
|
||
|
||
64KB 页大小的转换表查找: | ||
|
||
+--------+--------+--------+--------+--------+--------+--------+--------+ | ||
|63 56|55 48|47 40|39 32|31 24|23 16|15 8|7 0| | ||
+--------+--------+--------+--------+--------+--------+--------+--------+ | ||
| | | | | | ||
| | | | v | ||
| | | | [15:0] 页内偏移 | ||
| | | +----------> [28:16] L3 索引 | ||
| | +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) | ||
| +-------------------------------> [47:42] L1 索引 (未使用) | ||
+-------------------------------------------------> [63] TTBR0/1 |