Changeset 3f596c9 in mainline
- Timestamp:
- 2013-11-03T20:31:54Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9f9d725
- Parents:
- bbb94545
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc32/src/trap_table.S
rbbb94545 r3f596c9 211 211 /* dump registers to stack */ 212 212 save 213 st %l0, [%sp + 0] ! XXX 213 214 std %l0, [%sp + 0] 214 215 std %l2, [%sp + 8] … … 228 229 inc %g7 229 230 230 /* dump registers to uwb */231 231 2: save 232 232 std %l0, [%g6 + 0] … … 240 240 add %g4, 64, %g4 241 241 242 /* check whether it's the last user window to be saved */ 243 mov %psr, %l4 244 and %l4, 0x7, %l4 245 inc %l4 246 cmp %g7, %l4 247 bne 3f 248 nop 249 250 /* clear uspace window mark */ 251 clr %g7 252 242 253 3: /* back to where we should be */ 243 254 mov %g5, %l5 … … 273 284 nop 274 285 275 /* load registers from stack */ 276 restore 277 restore 278 /* Save invalid window data */ 286 restore 287 restore 279 288 mov %l5, %g5 ! kernel stack pointer 280 289 mov %l6, %g6 ! kernel wbuf 281 290 mov %l7, %g7 282 283 /* we should check whether window needs to be saved284 * to kernel stack or uwb285 */286 cmp %g7, 0287 bne 3f288 nop289 291 290 292 ldd [%sp + 0], %l0 … … 299 301 nop 300 302 301 /* load registers from uwb */302 303 1: restore 303 304 restore 304 /* Save invalid window data */305 305 mov %l5, %g5 ! kernel stack pointer 306 306 mov %l6, %g6 ! kernel wbuf 307 307 mov %l7, %g7 308 3:sub %g6, 64, %g6308 sub %g6, 64, %g6 309 309 ldd [%g6 + 0], %l0 310 310 ldd [%g6 + 8], %l2 … … 362 362 switch_to_invalid %g5, %g6 363 363 /* set uspace window mark */ 364 mov % psr, %l7364 mov %g6, %l7 365 365 and %l7, 0x7, %l7 366 366 inc %l7 … … 369 369 switch_back %g5, %g6 370 370 mov %g7, %sp 371 mov %sp, %fp 372 373 /* Set secondary invalid window mark */ 374 add %g7, 1, %l7 371 // mov %sp, %fp 375 372 376 373 5: /* Set up stack frame */ … … 379 376 /* Save trap data on stack */ 380 377 mov %psr, %l0 381 st %l1, [% fp - 4]382 st %l2, [% fp - 8]383 st %l0, [% fp - 12]378 st %l1, [%sp + 92] 379 st %l2, [%sp + 96] 380 st %l0, [%sp + 100] 384 381 385 382 /* Enable traps */ … … 397 394 398 395 /* Return from handler */ 399 ld [% fp - 4], %l1400 ld [% fp - 8], %l2401 ld [% fp - 12], %l0396 ld [%sp + 92], %l1 397 ld [%sp + 96], %l2 398 ld [%sp + 100], %l0 402 399 mov %l0, %psr 403 400 nop
Note:
See TracChangeset
for help on using the changeset viewer.