Lines Matching +full:cpu +full:- +full:release +full:- +full:addr
12 ---------------------------------------------------------------------
26 ---------------------------------------------------------------------
36 AArch64 异常模型由多个异常级(EL0 - EL3)组成,对于 EL0 和 EL1 异常级
41 这个术语来定义在将控制权交给 Linux 内核前 CPU 上执行的所有软件。
54 -----------------
65 ---------------
77 -------------
87 -------------
107 - 自 v3.17 起,除非另有说明,所有域都是小端模式。
109 - code0/code1 负责跳转到 stext.
111 - 当通过 EFI 启动时, 最初 code0/code1 被跳过。
116 - v3.17 之前,未明确指定 text_offset 的字节序。此时,image_size 为零,
121 - flags 域 (v3.17 引入) 为 64 位小端模式,其编码如下:
123 位 1-2: 内核页大小。
124 0 - 未指定。
125 1 - 4K
126 2 - 16K
127 3 - 64K
129 0 - 2MB 对齐基址应尽量靠近内存起始处,因为
131 1 - 2MB 对齐基址可以在物理内存的任意位置
132 位 4-63: 保留。
134 - 当 image_size 为零时,引导装载程序应试图在内核映像末尾之后尽可能
150 - 停止所有 DMA 设备,这样内存数据就不会因为虚假网络包或磁盘数据而
153 - 主 CPU 通用寄存器设置
159 - CPU 模式
162 CPU 必须处于 EL2(推荐,可访问虚拟化扩展)或非安全 EL1 模式下。
164 - 高速缓存、MMU
177 - 架构计时器
178 CNTFRQ 必须设定为计时器的频率,且 CNTVOFF 必须设定为对所有 CPU
182 - 一致性
183 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。
187 - 系统寄存器
192 - 如果 EL3 存在:
195 - 若内核运行在 EL1:
198 - 设备树(DT)或 ACPI 表必须描述一个 GICv3 中断控制器。
201 - 如果 EL3 存在:
203 - 若内核运行在 EL1:
205 - 设备树(DT)或 ACPI 表必须描述一个 GICv2 中断控制器。
207 以上对于 CPU 模式、高速缓存、MMU、架构计时器、一致性、系统寄存器的
208 必要条件描述适用于所有 CPU。所有 CPU 必须在同一异常级别跳入内核。
210 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口:
212 - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树
213 数据块必须在每个 CPU 节点中包含一个 ‘enable-method’ 属性,所
214 支持的 enable-method 请见下文。
219 - enable-method 为 “spin-table” 的 CPU 必须在它们的 CPU
220 节点中包含一个 ‘cpu-release-addr’ 属性。这个属性标识了一个
223 这些 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递
224 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须
225 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将
226 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值
227 时,CPU 必须跳入此值所指向的地址。此值为一个单独的 64 位小端值,
228 因此 CPU 须在跳转前将所读取的值转换为其本身的端模式。
230 - enable-method 为 “psci” 的 CPU 保持在内核外(比如,在
234 CPU_ON 调用来将 CPU 带入内核。
242 - 辅助 CPU 通用寄存器设置