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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [newlib-1.18.0/] [libgloss/] [mt/] [trap.S] - Rev 854

Go to most recent revision | Compare with Previous | Blame | View Log

;;
;;  The errno will be in r5 if r11 is -1.
;;
        .text
        .global __trap0
__trap0:
        ;; non-leaf function so need to create stack frame to
        ;; store ra and fp
        subi    sp, sp, #16
        stw     ra, sp, #12
        or      r0, r0, r0              ;; nop
        stw     fp, sp, #8
        or      fp, sp, sp
        stw     r5, sp, #4
        or      r0, r0, r0              ;; nop
        stw     r6, sp, #0
        addi    r6, r0, #$-1
        si      r14
        or      r0, r0, r0              ;; nop
        brne    r11, r6, .L0
        ldui    r6, #%hi16(errno)
        addui   r6, r6, #%lo16(errno)
        stw     r5, r6, #0
        or      r0, r0, r0              ;; nop
.L0:
        ldw     r6, sp, #0
        or      r0, r0, r0              ;; nop
        ldw     r5, sp, #4
        or      r0, r0, r0              ;; nop
        ldw     ra, sp, #12
        or      r0, r0, r0              ;; nop
        ldw     fp, sp, #8
        jal     r0, r14
        addi    sp, sp, #16

Go to most recent revision | 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.