diff options
author | Fu Wei <wefu@redhat.com> | 2014-01-28 07:28:29 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-07 18:24:31 -0500 |
commit | b0ab8a9030b655e02c5532d1f78b9ba9d9ff4420 (patch) | |
tree | a9c8b90cb2613c8666dbf57f7eb19e962f27d246 /Documentation | |
parent | fa69c87232cd6dac4d7e33e376467724697c43b9 (diff) |
Documentation:Update Documentation/zh_CN/arm64/booting.txt
This is a update of Chinese documentation: Documentation/zh_CN/arm64/booting.txt
It is based on the modifications of Documentation/arm64/booting.txt in submission:
"4d5e0b15", "4370eec0", "4fcd6e14".
Update maintainer's Email address.
Signed-off-by: Fu Wei <wefu@redhat.com>
Acked-by: Harry Wei <harryxiyou@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/zh_CN/arm64/booting.txt | 65 |
1 files changed, 46 insertions, 19 deletions
diff --git a/Documentation/zh_CN/arm64/booting.txt b/Documentation/zh_CN/arm64/booting.txt index 28fa325b7461..6f6d956ac1c9 100644 --- a/Documentation/zh_CN/arm64/booting.txt +++ b/Documentation/zh_CN/arm64/booting.txt | |||
@@ -7,7 +7,7 @@ help. Contact the Chinese maintainer if this translation is outdated | |||
7 | or if there is a problem with the translation. | 7 | or if there is a problem with the translation. |
8 | 8 | ||
9 | Maintainer: Will Deacon <will.deacon@arm.com> | 9 | Maintainer: Will Deacon <will.deacon@arm.com> |
10 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | 10 | Chinese maintainer: Fu Wei <wefu@redhat.com> |
11 | --------------------------------------------------------------------- | 11 | --------------------------------------------------------------------- |
12 | Documentation/arm64/booting.txt 的中文翻译 | 12 | Documentation/arm64/booting.txt 的中文翻译 |
13 | 13 | ||
@@ -16,9 +16,9 @@ Documentation/arm64/booting.txt 的中文翻译 | |||
16 | 译存在问题,请联系中文版维护者。 | 16 | 译存在问题,请联系中文版维护者。 |
17 | 17 | ||
18 | 英文版维护者: Will Deacon <will.deacon@arm.com> | 18 | 英文版维护者: Will Deacon <will.deacon@arm.com> |
19 | 中文版维护者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 19 | 中文版维护者: 傅炜 Fu Wei <wefu@redhat.com> |
20 | 中文版翻译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 20 | 中文版翻译者: 傅炜 Fu Wei <wefu@redhat.com> |
21 | 中文版校译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 21 | 中文版校译者: 傅炜 Fu Wei <wefu@redhat.com> |
22 | 22 | ||
23 | 以下为正文 | 23 | 以下为正文 |
24 | --------------------------------------------------------------------- | 24 | --------------------------------------------------------------------- |
@@ -64,8 +64,8 @@ RAM,或可能使用对这个设备已知的 RAM 信息,还可能使用任何 | |||
64 | 64 | ||
65 | 必要性: 强制 | 65 | 必要性: 强制 |
66 | 66 | ||
67 | 设备树数据块(dtb)小须不大于 2 MB,于从内核映像起始算起第一个 | 67 | 设备树数据块(dtb)必须 8 字节对齐,并位于从内核映像起始算起第一个 512MB |
68 | 512MB 内的 2MB 边界上。这使得内核可以通过初始页表中的单个节描述符来 | 68 | 内,且不得跨越 2MB 对齐边界。这使得内核可以通过初始页表中的单个节描述符来 |
69 | 映射此数据块。 | 69 | 映射此数据块。 |
70 | 70 | ||
71 | 71 | ||
@@ -84,13 +84,23 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
84 | 84 | ||
85 | 必要性: 强制 | 85 | 必要性: 强制 |
86 | 86 | ||
87 | 已解压的内核映像包含一个 32 字节的头,内容如下: | 87 | 已解压的内核映像包含一个 64 字节的头,内容如下: |
88 | 88 | ||
89 | u32 magic = 0x14000008; /* 跳转到 stext, */ | 89 | u32 code0; /* 可执行代码 */ |
90 | u32 res0 = 0; /* */ | 90 | u32 code1; /* 可执行 */ |
91 | u64 text_offset; /* 映像装载偏移 */ | 91 | u64 text_offset; /* 映像装载偏移 */ |
92 | u64 res0 = 0; /* 保留 */ | ||
92 | u64 res1 = 0; /* 保留 */ | 93 | u64 res1 = 0; /* 保留 */ |
93 | u64 res2 = 0; /* 保留 */ | 94 | u64 res2 = 0; /* 保留 */ |
95 | u64 res3 = 0; /* 保留 */ | ||
96 | u64 res4 = 0; /* 保留 */ | ||
97 | u32 magic = 0x644d5241; /* 魔数, 小端, "ARM\x64" */ | ||
98 | u32 res5 = 0; /* 保留 */ | ||
99 | |||
100 | |||
101 | 映像头注释: | ||
102 | |||
103 | - code0/code1 负责跳转到 stext. | ||
94 | 104 | ||
95 | 映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM | 105 | 映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM |
96 | 的起始地址必须是以 2MB 对齐的。 | 106 | 的起始地址必须是以 2MB 对齐的。 |
@@ -118,9 +128,9 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
118 | 外部高速缓存(如果存在)必须配置并禁用。 | 128 | 外部高速缓存(如果存在)必须配置并禁用。 |
119 | 129 | ||
120 | - 架构计时器 | 130 | - 架构计时器 |
121 | CNTFRQ 必须设定为计时器的频率 | 131 | CNTFRQ 必须设定为计时器的频率,且 CNTVOFF 必须设定为对有 CPU |
122 | 如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 EL1PCTEN (bit 0) | 132 | 都一致的。果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 |
123 | 必须置位。 | 133 | EL1PCTEN (bit 0) 必须置位。 |
124 | 134 | ||
125 | - 一致性 | 135 | - 一致性 |
126 | 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 | 136 | 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 |
@@ -131,23 +141,40 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
131 | 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 | 141 | 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 |
132 | 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 | 142 | 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 |
133 | 143 | ||
144 | 以上对于 CPU 模式、高速缓存、MMU、架构计时器、一致性、系统寄存器的 | ||
145 | 必要条件描述适用于所有 CPU。所有 CPU 必须在同一异常级别跳入内核。 | ||
146 | |||
134 | 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: | 147 | 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: |
135 | 148 | ||
136 | - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 | 149 | - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 |
137 | 数据块必须在每个 CPU 节点中包含以下内容: | 150 | 数据块必须在每个 CPU 节点中包含一个 ‘enable-method’ 属性,所 |
138 | 151 | 支持的 enable-method 请见下文。 | |
139 | 1、‘enable-method’属性。目前,此字段支持的值仅为字符串“spin-table”。 | ||
140 | |||
141 | 2、‘cpu-release-addr’标识一个 64-bit、初始化为零的内存位置。 | ||
142 | 152 | ||
143 | 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 | 153 | 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 |
144 | 数据块。 | 154 | 数据块。 |
145 | 155 | ||
146 | - 任何辅助 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | 156 | - enable-method 为 “spin-table” 的 CPU 必须在它们的 CPU |
157 | 节点中包含一个 ‘cpu-release-addr’ 属性。这个属性标识了一个 | ||
158 | 64 位自然对齐且初始化为零的内存位置。 | ||
159 | |||
160 | 这些 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | ||
147 | 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 | 161 | 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 |
148 | 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 | 162 | 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 |
149 | 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 | 163 | 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 |
150 | 时,CPU 必须直接跳入此值所指向的地址。 | 164 | 时,CPU 必须跳入此值所指向的地址。此值为一个单独的 64 位小端值, |
165 | 因此 CPU 须在跳转前将所读取的值转换为其本身的端模式。 | ||
166 | |||
167 | - enable-method 为 “psci” 的 CPU 保持在内核外(比如,在 | ||
168 | memory 节点中描述为内核空间的内存区外,或在通过设备树 /memreserve/ | ||
169 | 域中描述为内核保留区的空间中)。内核将会发起在 ARM 文档(编号 | ||
170 | ARM DEN 0022A:用于 ARM 上的电源状态协调接口系统软件)中描述的 | ||
171 | CPU_ON 调用来将 CPU 带入内核。 | ||
172 | |||
173 | *译者注:到文档翻译时,此文档已更新为 ARM DEN 0022B。 | ||
174 | |||
175 | 设备树必须包含一个 ‘psci’ 节点,请参考以下文档: | ||
176 | Documentation/devicetree/bindings/arm/psci.txt | ||
177 | |||
151 | 178 | ||
152 | - 辅助 CPU 通用寄存器设置 | 179 | - 辅助 CPU 通用寄存器设置 |
153 | x0 = 0 (保留,将来可能使用) | 180 | x0 = 0 (保留,将来可能使用) |