Ignore:
Timestamp:
2018-03-08T18:25:31Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Children:
55f068c
Parents:
e0a4686
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-08 17:43:06)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-08 18:25:31)
Message:

Turn context_save/context_restore into standard setjmp/longjmp.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/mips32/src/fibril.S

    re0a4686 r615e83d  
    3535#include <libarch/fibril_context.h>
    3636
    37 FUNCTION_BEGIN(context_save)
     37FUNCTION_BEGIN(setjmp)
    3838        sw $s0, CONTEXT_OFFSET_S0($a0)
    3939        sw $s1, CONTEXT_OFFSET_S1($a0)
     
    8787        sw $sp, CONTEXT_OFFSET_SP($a0)
    8888
    89         # context_save returns 1
     89        # setjmp returns 0
    9090        j $ra
    91         li $v0, 1
    92 FUNCTION_END(context_save)
     91        li $v0, 0
     92FUNCTION_END(setjmp)
    9393
    94 FUNCTION_BEGIN(context_restore)
     94FUNCTION_BEGIN(__longjmp)
    9595        lw $s0, CONTEXT_OFFSET_S0($a0)
    9696        lw $s1, CONTEXT_OFFSET_S1($a0)
     
    147147        move $t9, $ra
    148148
    149         # context_restore returns 0
     149        # __longjmp returns second argument
    150150        j $ra
    151         xor $v0, $v0
    152 FUNCTION_END(context_restore)
     151        move $v0, $a1
     152FUNCTION_END(__longjmp)
Note: See TracChangeset for help on using the changeset viewer.