source: rtems/c/src/lib/libbsp/i960/rxgen960/startup/asmfault.S @ 2ea8df3

4.104.114.84.95
Last change on this file since 2ea8df3 was 2ea8df3, checked in by Joel Sherrill <joel.sherrill@…>, on 10/27/99 at 16:27:34

Added CVS Ids and a basic header. More header cleanup needed.

  • Property mode set to 100644
File size: 880 bytes
Line 
1/*
2 *  $Id$
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 */
Note: See TracBrowser for help on using the repository browser.