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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [microblaze/] [setjmp.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/*
2
 * libc/sysdeps/linux/microblaze/setjmp.S -- `setjmp' for microblaze
3
 *
4
 *  Copyright (C) 2003       John Williams 
5
 *  Copyright (C) 2001,2002  NEC Corporation
6
 *  Copyright (C) 2001,2002  Miles Bader 
7
 *
8
 * This file is subject to the terms and conditions of the GNU Lesser
9
 * General Public License.  See the file COPYING.LIB in the main
10
 * directory of this archive for more details.
11
 *
12
 * Written by Miles Bader 
13
 */
14
 
15
#define _SETJMP_H
16
#define _ASM
17
#include 
18
 
19
#include 
20
 
21
        .text
22
C_ENTRY(setjmp):
23
        addi    r6, r0, 1                       /* Save the signal mask.  */
24
        braid   C_SYMBOL_NAME(__sigsetjmp)
25
        nop
26
 
27
        .globl C_SYMBOL_NAME(_setjmp)
28
C_SYMBOL_NAME(_setjmp):
29
        add     r6, r0, r0                      /* Don't save the signal mask.  */
30
 
31
        .globl C_SYMBOL_NAME(__sigsetjmp)
32
C_SYMBOL_NAME(__sigsetjmp):
33
        /* Save registers relative to r5 (arg0)*/
34
        swi     r1, r5, 0                       /* stack pointer */
35
        swi     r15, r5, 4                      /* link register */
36
        swi     r18, r5, 8                      /* assembler temp */
37
        swi     r19, r5, 12                     /* now call-preserved regs */
38
        swi     r20, r5, 16
39
        swi     r21, r5, 20
40
        swi     r22, r5, 24
41
        swi     r23, r5, 28
42
        swi     r24, r5, 32
43
        swi     r25, r5, 36
44
        swi     r26, r5, 40
45
        swi     r27, r5, 44
46
        swi     r28, r5, 48
47
        swi     r29, r5, 52
48
        swi     r30, r5, 56
49
 
50
        /* Make a tail call to __sigjmp_save; it takes the same args.  */
51
        braid   C_SYMBOL_NAME(__sigjmp_save)
52
        nop
53
C_END(setjmp)

powered by: WebSVN 2.1.0

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