Changeset 301 for soft/giet_vm/giet_kernel/giet.s
- Timestamp:
- Apr 14, 2014, 6:44:51 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_kernel/giet.s
r267 r301 56 56 _sys_handler: 57 57 addiu $29, $29, -24 /* 2 slots for SR&EPC, 4 slots for args passing */ 58 mfc0 $26, $12 /* load SR */59 sw $26, 16($29) /* save it in the stack */60 58 mfc0 $27, $14 /* load EPC */ 61 59 addiu $27, $27, 4 /* increment EPC for return address */ … … 73 71 mtc0 $26, $12 /* interrupt enabled */ 74 72 jalr $3 /* jump to the proper syscall */ 75 mtc0 $0, $12 /* interrupt disbled */76 73 77 lw $26, 16($29) /* load SR from stack */ 78 mtc0 $26, $12 /* restore SR */ 74 mfc0 $26, $12 /* load SR */ 75 ori $26, $26, 0x2 /* set EXL bit */ 76 mtc0 $26, $12 77 79 78 lw $26, 20($29) /* load EPC from stack */ 80 79 mtc0 $26, $14 /* restore EPC */ 81 addiu $29, $29, 24/* restore stack pointer */80 addiu $29, $29, 24 /* restore stack pointer */ 82 81 eret /* exit GIET */ 83 82
Note: See TracChangeset
for help on using the changeset viewer.