Changes in kernel/arch/sparc64/src/sun4u/start.S [7f1d897:4872160] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/sun4u/start.S
r7f1d897 r4872160 36 36 #include <arch/mm/tlb.h> 37 37 #include <arch/mm/tte.h> 38 #include <arch/mm/cache_spec.h>39 38 40 39 #ifdef CONFIG_SMP … … 63 62 * 64 63 * The registers are expected to be in this state: 65 * - %o0 starting address of physical memory 64 * - %o0 bootinfo structure address (BSP only) 65 * - %o1 starting address of physical memory 66 66 * + bootstrap processor flag 67 67 * bits 63...1: physical memory starting address / 2 68 68 * bit 0: non-zero on BSP processor, zero on AP processors 69 * - %o1 bootinfo structure address (BSP only)70 *71 69 * 72 70 * Moreover, we depend on boot having established the following environment: … … 79 77 kernel_image_start: 80 78 mov BSP_FLAG, %l0 81 and %o 0, %l0, %l7 ! l7 <= bootstrap processor?82 andn %o 0, %l0, %l6 ! l6 <= start of physical memory79 and %o1, %l0, %l7 ! l7 <= bootstrap processor? 80 andn %o1, %l0, %l6 ! l6 <= start of physical memory 83 81 84 82 ! Get bits (PHYSMEM_ADDR_SIZE - 1):13 of physmem_base. … … 270 268 or %l3, %l5, %l3 271 269 stx %l3, [%l4 + %lo(kernel_8k_tlb_data_template)] 272 273 ! flush the whole D-cache 274 set (DCACHE_SIZE - DCACHE_LINE_SIZE), %g1 275 stxa %g0, [%g1] ASI_DCACHE_TAG 276 277 0: 278 membar #Sync 279 subcc %g1, DCACHE_LINE_SIZE, %g1 280 bnz,pt %xcc, 0b 281 stxa %g0, [%g1] ASI_DCACHE_TAG 282 membar #Sync 283 270 271 /* 272 * Flush D-Cache. 273 */ 274 call dcache_flush 275 nop 276 284 277 /* 285 278 * So far, we have not touched the stack. … … 289 282 or %sp, %lo(temporary_boot_stack), %sp 290 283 sub %sp, STACK_BIAS, %sp 291 292 /* 293 * Call arch_pre_main(bootinfo) 294 */ 284 295 285 call arch_pre_main 296 mov %o1, %o0 297 298 /* 299 * Create the first stack frame. 300 */ 301 save %sp, -(STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE), %sp 302 flushw 303 add %g0, -STACK_BIAS, %fp 304 286 nop 287 305 288 call main_bsp 306 289 nop … … 309 292 310 293 0: 311 ba,a %xcc, 0b 294 ba %xcc, 0b 295 nop 312 296 313 297 … … 359 343 ldx [%g1], %o6 360 344 361 /*362 * Create the first stack frame.363 */364 save %sp, -(STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE), %sp365 flushw366 add %g0, -STACK_BIAS, %fp367 368 345 call main_ap 369 346 nop … … 373 350 374 351 0: 375 ba,a %xcc, 0b 352 ba %xcc, 0b 353 nop 376 354 377 355
Note:
See TracChangeset
for help on using the changeset viewer.