; Trap 0 handler (syscall interface). ; ; The trap handler returns the result in r0 and the error code (errno value) ; in r2. r1 is reserved in case an 8 byte quantity ever needs to be ; returned in registers. .text .global __trap0 __trap0: trap #0 ; trap 0 returns result in r0, error code in r2 cmpui r2,#1 ; is error code zero? bc .Lret ; yes, skip setting errno ld r4,@(sp) ; no, set errno st r2,@r4 .Lret: jmp lr ; return to caller