Changeset 5387807 in mainline for kernel/arch/ia64/src/start.S
- Timestamp:
- 2010-06-17T20:58:50Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8ef40329
- Parents:
- d0c82c5 (diff), 3193c05 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/start.S
rd0c82c5 r5387807 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 */ … … 198 176 srlz.d ;; 199 177 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 212 178 br.call.sptk.many b0 = arch_pre_main 213 214 movl r18 = main_bsp ;; 215 mov b1 = r18 ;; 216 br.call.sptk.many b0 = b1 217 179 0: 180 br.call.sptk.many b0 = main_bsp 218 181 0: 219 182 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.