Changes in kernel/arch/sparc64/src/sun4v/start.S [4872160:c92af69b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/sun4v/start.S
r4872160 rc92af69b 93 93 * 94 94 * The registers are expected to be in this state: 95 * - %o0 bootinfo structure address (BSP only) 96 * - %o1 starting address of physical memory 95 * - %o0 starting address of physical memory 97 96 * + bootstrap processor flag 98 97 * bits 63...1: physical memory starting address / 2 99 98 * bit 0: non-zero on BSP processor, zero on AP processors 99 * - %o1 bootinfo structure address (BSP only) 100 * 100 101 * 101 102 * Moreover, we depend on boot having established the following environment: … … 107 108 kernel_image_start: 108 109 mov BSP_FLAG, %l0 109 and %o 1, %l0, %l7 ! l7 <= bootstrap processor?110 andn %o 1, %l0, %l6 ! l6 <= start of physical memory111 or %o 0, %g0, %l0110 and %o0, %l0, %l7 ! l7 <= bootstrap processor? 111 andn %o0, %l0, %l6 ! l6 <= start of physical memory 112 or %o1, %g0, %l1 112 113 113 114 ! Get bits (PHYSMEM_ADDR_SIZE - 1):13 of physmem_base. … … 154 155 mov 0, %o5 155 156 ta 0xff 156 nop157 157 158 158 /* … … 218 218 ! on APs skip executing the following code 219 219 cmp %l7, 0 220 be 1f220 be %xcc, 1f 221 221 nop 222 222 … … 246 246 sub %sp, STACK_BIAS, %sp 247 247 248 or %l0, %g0, %o0 248 /* 249 * Call arch_pre_main(bootinfo) 250 */ 249 251 call arch_pre_main 250 nop252 or %l1, %g0, %o0 251 253 254 /* 255 * Create the first stack frame. 256 */ 257 save %sp, -(STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE), %sp 258 flushw 259 add %g0, -STACK_BIAS, %fp 260 252 261 call main_bsp 253 262 nop … … 256 265 257 266 0: 258 ba 0b 259 nop 267 ba,a %xcc, 0b 260 268 261 269 1: … … 269 277 */ 270 278 271 mov 1, %o0! MMU enable flag272 set 273 mov 274 ta 0x80! call HV279 mov 1, %o0 ! MMU enable flag 280 set mmu_enabled, %o1 281 mov MMU_ENABLE, %o5 ! MMU enable HV call 282 ta 0x80 ! call HV 275 283 276 284 mmu_enabled: … … 285 293 ldx [%g1], %o6 286 294 295 /* 296 * Create the first stack frame. 297 */ 298 save %sp, -(STACK_WINDWO_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE), %sp 299 flushw 300 add %g0, -STACK_BIAS, %fp 301 287 302 call main_ap 288 303 nop … … 291 306 /* Not reached. */ 292 307 0: 293 ba 0b 294 nop 308 ba,a %xcc, 0b 295 309 296 310 .align 8 … … 310 324 before_ap_boots: 311 325 setx 0x80400000, %g0, %o0 312 ba kernel_image_start 313 nop 326 ba,a %xcc, kernel_image_start 314 327 315 328 .section K_DATA_START, "aw", @progbits
Note:
See TracChangeset
for help on using the changeset viewer.