OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [sh/] [trap.S] - Rev 816

Compare with Previous | Blame | View Log

#if __SH5__
        .mode   SHmedia
#if __SH5__ == 32 && __SHMEDIA__
        .section        .text..SHmedia32, "ax"
#else
        .text
#endif
        .global ___trap34
___trap34:
        movi    34, r0
        trapa   r0
        pt/l    ret, tr1
        ptabs/l r18, tr0
        beqi    r1, 0, tr1
#if __SH5__ == 64
        movi    ((_errno >> 48) & 65535), r0
        shori   ((_errno >> 32) & 65535), r0
        shori   ((_errno >> 16) & 65535), r0
#else
        movi    ((_errno >> 16) & 65535), r0
#endif
        shori   (_errno & 65535), r0
        stx.l   r0, r63, r1
ret:
        blink   tr0, r63
        
#else
        .text
        .global ___trap34
___trap34:
        trapa   #34
        tst     r1,r1   ! r1 is errno
        bt      ret
        mov.l   perrno,r2
        mov.l   r1,@r2
ret:
        rts
        nop
        
        .align  2
perrno:
        .long   _errno
#endif /* ! __SH5__ */

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.