1
2
3
4
5
6
7 #include <asm/system.h>
8
9 #define halt .long PAL_halt
10 #define rti .long PAL_rti
11
12
13
14
15
16
17
18
19 #define SAVE_ALL \
20 subq $30,160,$30; \
21 stq $0,0($30); \
22 stq $1,8($30); \
23 stq $2,16($30); \
24 stq $3,24($30); \
25 stq $4,32($30); \
26 stq $5,40($30); \
27 stq $6,48($30); \
28 stq $7,56($30); \
29 stq $8,64($30); \
30 stq $19,72($30); \
31 stq $20,80($30); \
32 stq $21,88($30); \
33 stq $22,96($30); \
34 stq $23,104($30); \
35 stq $24,112($30); \
36 stq $25,120($30); \
37 stq $26,128($30); \
38 stq $27,136($30); \
39 stq $28,144($30)
40
41 #define RESTORE_ALL \
42 ldq $0,0($30); \
43 ldq $1,8($30); \
44 ldq $2,16($30); \
45 ldq $3,24($30); \
46 ldq $4,32($30); \
47 ldq $5,40($30); \
48 ldq $6,48($30); \
49 ldq $7,56($30); \
50 ldq $8,64($30); \
51 ldq $19,72($30); \
52 ldq $20,80($30); \
53 ldq $21,88($30); \
54 ldq $22,96($30); \
55 ldq $23,104($30); \
56 ldq $24,112($30); \
57 ldq $25,120($30); \
58 ldq $26,128($30); \
59 ldq $27,136($30); \
60 ldq $28,144($30); \
61 addq $30,160,$30
62
63 .text
64 .set noat
65
66 .align 5
67 .globl entInt
68 .ent entInt
69 entInt:
70 SAVE_ALL
71 bis $30,$30,$19
72 lda $27,do_entInt
73 jsr $26,($27),do_entInt
74 RESTORE_ALL
75 rti
76 .end entInt
77
78 .align 5
79 .globl entMM
80 .ent entMM
81 entMM:
82 SAVE_ALL
83 bis $30,$30,$19
84 lda $27,do_page_fault
85 jsr $26,($27),do_page_fault
86 RESTORE_ALL
87 rti
88 .end entMM
89
90 .align 5
91 .globl sys_call_table
92 sys_call_table:
93 .quad 0