4.104.114.84.95
Last change
on this file since 1fc35374 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.