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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [i960/] [rxgen960/] [startup/] [asmfault.S] - Blame information for rev 814

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

Line No. Rev Author Line
1 30 unneback
/*
2
 *  $Id: asmfault.S,v 1.2 2001-09-27 11:59:59 chris Exp $
3
 */
4
 
5
/*
6
 * asmfault.s
7
 * Last change : 31. 1.95
8
 */
9
 
10
        .text
11
        .globl  _faultHndlEntry
12
 
13
        .text
14
 
15
_faultHndlEntry :
16
          /* Raise priority. */
17
        ldconst 0x1F0000, r4
18
        ldconst 0xFFFFFFFF, r5
19
        modpc   r4, r4, r5
20
          /* Where to keep state of the faulted code. */
21
        ldconst _faultBuffer, r3
22
          /* Save global registers. */
23
        stq     g0, 64+0(r3)
24
        stq     g4, 64+16(r3)
25
        stq     g8, 64+32(r3)
26
        stt     g12, 64+48(r3)
27
          /* Faulted code's fp (g15) is our pfp. */
28
        st      pfp, 64+60(r3)
29
          /* Make sure locals are in stack. */
30
        flushreg
31
          /* g3 = & previosFrame[0] */
32
        andnot  0xF, pfp, g3
33
          /* Save local registers of faulted procedure. */
34
        ldq     0(g3), r4
35
        stq     r4, 0(r3)
36
        ldq     16(g3), r4
37
        stq     r4, 16(r3)
38
        ldq     32(g3), r4
39
        stq     r4, 32(r3)
40
        ldq     48(g3), r4
41
        stq     r4, 48(r3)
42
          /* To handling. */
43
        mov     fp, g0
44
        mov     r3, g1
45
        callx   _faultTblHandler
46
          /* This point will never be reached ... */
47
 
48
/* End of file */

powered by: WebSVN 2.1.0

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