Changeset e5c1186 in mainline for kernel/arch/ia64/src/start.S
- Timestamp:
- 2010-06-14T22:58:20Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fae1647
- Parents:
- 84d8837
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/start.S
r84d8837 re5c1186 49 49 kernel_image_start: 50 50 .auto 51 52 #ifdef CONFIG_SMP53 # Identify self(CPU) in OS structures by ID / EID54 55 mov r9 = cr6456 mov r10 = 157 movl r12 = 0xffffffff58 movl r8 = cpu_by_id_eid_list59 and r8 = r8, r1260 shr r9 = r9, 1661 add r8 = r8, r962 st1 [r8] = r1063 #endif64 51 65 52 mov psr.l = r0 … … 164 151 bsw.1 165 152 166 #ifdef CONFIG_SMP167 # Am I BSP or AP?168 movl r20 = bsp_started ;;169 ld8 r20 = [r20] ;;170 cmp.eq p3, p2 = r20, r0 ;;171 #else172 cmp.eq p3, p2 = r0, r0 ;; /* you are BSP */173 #endif /* CONFIG_SMP */174 175 153 # Initialize register stack 176 154 mov ar.rsc = r0 … … 191 169 * Initialize bootinfo on BSP. 192 170 */ 193 (p3)addl r21 = @gprel(bootinfo), gp ;;194 (p3)st8 [r21] = r20171 addl r21 = @gprel(bootinfo), gp ;; 172 st8 [r21] = r20 195 173 196 174 ssm (1 << 19) ;; /* Disable f32 - f127 */ 197 175 srlz.i 198 176 srlz.d ;; 199 200 #ifdef CONFIG_SMP201 (p2) movl r18 = main_ap ;;202 (p2) mov b1 = r18 ;;203 (p2) br.call.sptk.many b0 = b1204 205 # Mark that BSP is on206 207 mov r20 = 1 ;;208 movl r21 = bsp_started ;;209 st8 [r21] = r20 ;;210 #endif211 177 212 178 br.call.sptk.many b0 = arch_pre_main … … 218 184 0: 219 185 br 0b 220 221 #ifdef CONFIG_SMP222 223 .align 4096224 kernel_image_ap_start:225 .auto226 227 # Identify self(CPU) in OS structures by ID / EID228 229 mov r9 = cr64230 mov r10 = 1231 movl r12 = 0xffffffff232 movl r8 = cpu_by_id_eid_list233 and r8 = r8, r12234 shr r9 = r9, 16235 add r8 = r8, r9236 st1 [r8] = r10237 238 # Wait for wakeup synchro signal (#3 in cpu_by_id_eid_list)239 240 kernel_image_ap_start_loop:241 movl r11 = kernel_image_ap_start_loop242 and r11 = r11, r12243 mov b1 = r11244 245 ld1 r20 = [r8]246 movl r21 = 3247 cmp.eq p2, p3 = r20, r21248 (p3) br.call.sptk.many b0 = b1249 250 movl r11 = kernel_image_start251 and r11 = r11, r12252 mov b1 = r11253 br.call.sptk.many b0 = b1254 255 .align 16256 .global bsp_started257 bsp_started:258 .space 8259 260 .align 4096261 .global cpu_by_id_eid_list262 cpu_by_id_eid_list:263 .space 65536264 265 #endif /* CONFIG_SMP */
Note:
See TracChangeset
for help on using the changeset viewer.