Last change
on this file since 580 was
444,
checked in by satin@…, 7 years ago
|
add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc
|
File size:
451 bytes
|
Rev | Line | |
---|
[444] | 1 | ; Trap 0 handler (syscall interface). |
---|
| 2 | ; |
---|
| 3 | ; The trap handler returns the result in r0 and the error code (errno value) |
---|
| 4 | ; in r2. r1 is reserved in case an 8 byte quantity ever needs to be |
---|
| 5 | ; returned in registers. |
---|
| 6 | |
---|
| 7 | .text |
---|
| 8 | .global __trap0 |
---|
| 9 | __trap0: |
---|
| 10 | trap #0 ; trap 0 returns result in r0, error code in r2 |
---|
| 11 | cmpui r2,#1 ; is error code zero? |
---|
| 12 | bc .Lret ; yes, skip setting errno |
---|
| 13 | ld r4,@(sp) ; no, set errno |
---|
| 14 | st r2,@r4 |
---|
| 15 | .Lret: |
---|
| 16 | jmp lr ; return to caller |
---|
Note: See
TracBrowser
for help on using the repository browser.