~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/zh_CN/arch/riscv/boot.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/translations/zh_CN/arch/riscv/boot.rst (Architecture i386) and /Documentation/translations/zh_CN/arch/mips/boot.rst (Architecture mips)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2 .. include:: ../../disclaimer-zh_CN.rst           
  3                                                   
  4 :Original: Documentation/arch/riscv/boot.rst      
  5                                                   
  6 :翻译:                                          
  7                                                   
  8  龙进 Jin Long <longjin@dragonos.org>            
  9                                                   
 10 ========================                          
 11 RISC-V内核启动要求和限制                 
 12 ========================                          
 13                                                   
 14 :Author: Alexandre Ghiti <alexghiti@rivosinc.co    
 15 :Date: 23 May 2023                                
 16                                                   
 17 这份文档描述了RISC-V内核对引导加    
 18 早期启动过程时必须牢记的约束。    
 19 终虚拟映射设置之前运行的任何代    
 20                                                   
 21 内核预加载的要求和限制                 
 22 ======================                            
 23                                                   
 24 RISC-V内核对引导加载程序和平台固    
 25                                                   
 26 寄存器状态                                   
 27 ----------                                        
 28                                                   
 29 RISC-V内核期望:                             
 30                                                   
 31   * ``$a0`` 应包含当前核心的hartid。     
 32   * ``$a1`` 应包含内存中设备树的地    
 33                                                   
 34 CSR 寄存器状态                               
 35 --------------                                    
 36                                                   
 37 RISC-V内核期望:                             
 38                                                   
 39   * ``$satp = 0``: 如果存在MMU,必须    
 40                                                   
 41 为常驻固件保留的内存                    
 42 --------------------                              
 43                                                   
 44 RISC-V内核在直接映射中不能映射任    
 45 因此固件必须根据设备树规范 和/    
 46                                                   
 47 内核的位置                                   
 48 ----------                                        
 49                                                   
 50 RISC-V内核期望被放置在PMD边界(对    
 51 请注意,如果不是这样,EFI stub 将    
 52                                                   
 53 硬件描述                                      
 54 --------                                          
 55                                                   
 56 固件可以将设备树或ACPI表传递给RIS    
 57                                                   
 58 设备树可以直接从前一阶段通过$a1    
 59 可以通过EFI配置表传递。                 
 60                                                   
 61 ACPI表通过EFI配置表传递给内核。在    
 62 小的设备树。请参阅下面的"EFI stub     
 63 信息。                                         
 64                                                   
 65 内核入口                                      
 66 --------                                          
 67                                                   
 68 在SMP系统中,有两种方法可以进入    
 69                                                   
 70 - ``RISCV_BOOT_SPINWAIT``:固件在内核中    
 71   得抽奖并执行早期启动代码,而    
 72   方法主要用于支持没有SBI HSM扩展    
 73 - ``有序启动``:固件只释放一个将    
 74   扩展启动所有其他的hart。有序启    
 75   因为它可以支持CPU热插拔和kexec。    
 76                                                   
 77 UEFI                                              
 78 ----                                              
 79                                                   
 80 UEFI 内存映射                                 
 81 ~~~~~~~~~~~~~                                     
 82                                                   
 83 使用UEFI启动时,RISC-V内核将只使用    
 84                                                   
 85 UEFI固件必须解析 ``/reserved-memory``     
 86 树规范,将这些子节点的属性( ``n    
 87 确的EFI等价物(参见设备树规范v0.4    
 88 UEFI"部分)。                                 
 89                                                   
 90 RISCV_EFI_BOOT_PROTOCOL                           
 91 ~~~~~~~~~~~~~~~~~~~~~~~                           
 92                                                   
 93 使用UEFI启动时,EFI stub 需要引导har    
 94 RISC-V内核。EFI stub使用以下方法之    
 95                                                   
 96 - ``RISCV_EFI_BOOT_PROTOCOL`` (**首选**)    
 97 - ``boot-hartid`` 设备树子节点(**已    
 98                                                   
 99 任何新的固件都必须实现 ``RISCV_EFI_    
100 的方法现已被弃用。                       
101                                                   
102 早期启动的要求和约束                    
103 ====================                              
104                                                   
105 RISC-V内核的早期启动过程遵循以下    
106                                                   
107 EFI stub 和设备树                             
108 -----------------                                 
109                                                   
110 使用UEFI启动时,EFI stub 会用与arm64    
111 这些参数在Documentation/arch/arm/uefi.rst    
112 "UEFI kernel supporton ARM"段落中有描述    
113                                                   
114 虚拟映射安装                                
115 ------------                                      
116                                                   
117 在RISC-V内核中,虚拟映射的安装分    
118                                                   
119 1. ``setup_vm()`` 在 ``early_pg_dir`` 中安    
120    允许发现系统内存。   此时只有    
121    不能进行分配(因为系统内存还    
122    态分配的(每个级别只使用一个    
123                                                   
124 2. ``setup_vm_final()`` 在 ``swapper_pg_dir``    
125    射,并利用发现的系统内存   创    
126    分配内存,但不能直接访问它(    
127    区域的临时映射来访问新分配的    
128                                                   
129 为了让 ``virt_to_phys()`` 和 ``phys_to_vir    
130 映射地址转换为物理地址,它们需    
131 就在步骤2安装直接映射之前(参见    
132 ``setup_bootmem()`` 函数)。在安装最    
133 仔细检查。                                   
134                                                   
135 通过fixmap进行设备树映射                 
136 ------------------------                          
137                                                   
138 由于 ``reserved_mem`` 数组是用 ``setup_v    
139 的,并且与``setup_vm_final()``建立的    
140 fixmap区域来映射设备树。这确保设    
141                                                   
142 Pre-MMU执行                                     
143 -----------                                       
144                                                   
145 在建立第一个虚拟映射之前,需要    
146 早期替代方案的修补,以及内核命    
147                                                   
148 - ``-fno-pie``:这对于使用``-fPIE``的    
149   全局符号的访问都将通过  GOT进行    
150 - ``-mcmodel=medany``:任何对全局符号    
151   置MMU之前发生任何重定位。            
152 - *所有* 的仪表化功能也必须被禁    
153                                                   
154 由于使用来自不同编译单元的符号    
155 外部符号。                                   
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php