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.