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

4.104.114.84.95
Last change on this file since f08a5596 was eb7f0f22, checked in by Joel Sherrill <joel.sherrill@…>, on 10/27/99 at 15:57:14

Moved asmfault.s to asmfault.S per GNU conventions.

  • Property mode set to 100644
File size: 863 bytes
Line 
1/*
2 * asmfault.s
3 * Last change : 31. 1.95
4 */
5
6        .text
7        .globl  _faultHndlEntry
8
9        .text
10
11_faultHndlEntry :
12          /* Raise priority. */
13        ldconst 0x1F0000, r4
14        ldconst 0xFFFFFFFF, r5
15        modpc   r4, r4, r5
16          /* Where to keep state of the faulted code. */
17        ldconst _faultBuffer, r3
18          /* Save global registers. */
19        stq     g0, 64+0(r3)
20        stq     g4, 64+16(r3)   
21        stq     g8, 64+32(r3)
22        stt     g12, 64+48(r3)
23          /* Faulted code's fp (g15) is our pfp. */
24        st      pfp, 64+60(r3)
25          /* Make sure locals are in stack. */
26        flushreg
27          /* g3 = & previosFrame[0] */
28        andnot  0xF, pfp, g3
29          /* Save local registers of faulted procedure. */
30        ldq     0(g3), r4
31        stq     r4, 0(r3)
32        ldq     16(g3), r4
33        stq     r4, 16(r3)
34        ldq     32(g3), r4
35        stq     r4, 32(r3)
36        ldq     48(g3), r4
37        stq     r4, 48(r3) 
38          /* To handling. */
39        mov     fp, g0
40        mov     r3, g1
41        callx   _faultTblHandler
42          /* This point will never be reached ... */
43
44/* End of file */
Note: See TracBrowser for help on using the repository browser.