Changeset 7ca8b36b in mainline for arch/mips32/src/start.S


Ignore:
Timestamp:
2006-05-21T14:32:28Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
25bf215
Parents:
a33c990
Message:

Fixed mips bug fith TLS register not being properly saved on syscall context
switch.
Reverted SYS_IO, so that it could be used on machines without fb.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/src/start.S

    ra33c990 r7ca8b36b  
    223223       
    224224        beqz $k0, syscall_shortcut
    225         add $k0, 8            # Revert $k1 back to correct exc number
     225        add $k0, 8            # Revert $k0 back to correct exc number
    226226       
    227227        REGISTERS_STORE_AND_EXC_RESET $sp
     
    240240#define SS_STATUS EOFFSET_STATUS
    241241#define SS_EPC    EOFFSET_EPC
     242#define SS_K1     EOFFSET_K1
    242243syscall_shortcut:
    243244        # We have a lot of space on the stack, with free use
     
    245246        mfc0 $t0, $status
    246247        sw $t1,SS_EPC($sp)  # Save EPC
     248        sw $k1,SS_K1($sp)   # Save k1, which is not saved during context switch
    247249       
    248250        and $t2, $t0, REG_SAVE_MASK # Save only KSU,EXL,ERL,IE
     
    271273        # restore epc+4
    272274        lw $t0,SS_EPC($sp)
     275        lw $k1,SS_K1($sp)
    273276        addi $t0, $t0, 4
    274277        mtc0 $t0, $epc
Note: See TracChangeset for help on using the changeset viewer.