1 #ifndef __ALPHA_SYSTEM_H
2 #define __ALPHA_SYSTEM_H
3
4
5
6
7 #define PAL_halt 0
8 #define PAL_cflush 1
9 #define PAL_draina 2
10 #define PAL_cobratt 9
11 #define PAL_bpt 128
12 #define PAL_bugchk 129
13 #define PAL_chmk 131
14 #define PAL_callsys 131
15 #define PAL_imb 134
16 #define PAL_rduniq 158
17 #define PAL_wruniq 159
18 #define PAL_gentrap 170
19 #define PAL_nphalt 190
20
21
22
23
24 #define PAL_mtpr_mces 17
25 #define PAL_wrfen 43
26 #define PAL_wrvptptr 45
27 #define PAL_jtopal 46
28 #define PAL_swpctx 48
29 #define PAL_wrval 49
30 #define PAL_rdval 50
31 #define PAL_tbi 51
32 #define PAL_wrent 52
33 #define PAL_swpipl 53
34 #define PAL_rdps 54
35 #define PAL_wrkgp 55
36 #define PAL_wrusp 56
37 #define PAL_wrperfmon 57
38 #define PAL_rdusp 58
39 #define PAL_whami 60
40 #define PAL_rtsys 61
41 #define PAL_rti 63
42
43 #define invalidate_all() \
44 __asm__ __volatile__( \
45 "lda $16,-2($31)\n\t" \
46 ".long 51" \
47 : : :"$1", "$16", "$17", "$22","$23","$24","$25")
48
49 #define invalidate() \
50 __asm__ __volatile__( \
51 "lda $16,-1($31)\n\t" \
52 ".long 51" \
53 : : :"$1", "$16", "$17", "$22","$23","$24","$25")
54
55 #define swpipl(__new_ipl) \
56 ({ unsigned long __old_ipl; \
57 __asm__ __volatile__( \
58 "bis %1,%1,$16\n\t" \
59 ".long 53\n\t" \
60 "bis $0,$0,%0" \
61 : "=r" (__old_ipl) \
62 : "r" (__new_ipl) \
63 : "$0", "$1", "$16", "$22", "$23", "$24", "$25"); \
64 __old_ipl; })
65
66 #endif