This source file includes following definitions.
- ldb_sun4m_bypass
- ldw_sun4m_bypass
- stb_sun4m_bypass
- stw_sun4m_bypass
1
2 #ifndef _SPARC_ASI_H
3 #define _SPARC_ASI_H
4
5
6
7
8
9
10
11
12
13
14
15 #define ASI_NULL1 0x00
16 #define ASI_NULL2 0x01
17
18
19 #define ASI_CONTROL 0x02
20 #define ASI_SEGMAP 0x03
21 #define ASI_PTE 0x04
22 #define ASI_HWFLUSHSEG 0x05
23 #define ASI_HWFLUSHPAGE 0x06
24 #define ASI_REGMAP 0x06
25 #define ASI_HWFLUSHCONTEXT 0x07
26
27 #define ASI_USERTXT 0x08
28 #define ASI_KERNELTXT 0x09
29 #define ASI_USERDATA 0x0a
30 #define ASI_KERNELDATA 0x0b
31
32
33 #define ASI_FLUSHSEG 0x0c
34 #define ASI_FLUSHPG 0x0d
35 #define ASI_FLUSHCTX 0x0e
36
37
38
39
40 #define ASI_M_RES00 0x00
41 #define ASI_M_UNA01 0x01
42 #define ASI_M_MXCC 0x02
43 #define ASI_M_FLUSH_PROBE 0x03
44 #define ASI_M_MMUREGS 0x04
45 #define ASI_M_TLBDIAG 0x05
46 #define ASI_M_DIAGS 0x06
47 #define ASI_M_IODIAG 0x07
48 #define ASI_M_USERTXT 0x08
49 #define ASI_M_KERNELTXT 0x09
50 #define ASI_M_USERDATA 0x0A
51 #define ASI_M_KERNELDATA 0x0B
52 #define ASI_M_TXTC_TAG 0x0C
53 #define ASI_M_TXTC_DATA 0x0D
54 #define ASI_M_DATAC_TAG 0x0E
55 #define ASI_M_DATAC_DATA 0x0F
56
57
58
59
60
61
62
63 #define ASI_M_FLUSH_PAGE 0x10
64 #define ASI_M_FLUSH_SEG 0x11
65 #define ASI_M_FLUSH_REGION 0x12
66 #define ASI_M_FLUSH_CTX 0x13
67 #define ASI_M_FLUSH_USER 0x14
68
69
70 #define ASI_M_BCOPY 0x17
71
72
73 #define ASI_M_IFLUSH_PAGE 0x18
74 #define ASI_M_IFLUSH_SEG 0x19
75 #define ASI_M_IFLUSH_REGION 0x1A
76 #define ASI_M_IFLUSH_CTX 0x1B
77 #define ASI_M_IFLUSH_USER 0x1C
78
79
80 #define ASI_M_BFILL 0x1F
81
82
83
84
85
86
87 #define ASI_M_BYPASS 0x20
88 #define ASI_M_FBMEM 0x29
89 #define ASI_M_VMEUS 0x2A
90 #define ASI_M_VMEPS 0x2B
91 #define ASI_M_VMEUT 0x2C
92 #define ASI_M_VMEPT 0x2D
93 #define ASI_M_SBUS 0x2E
94 #define ASI_M_CTL 0x2F
95
96
97
98 #define ASI_M_FLUSH_IWHOLE 0x31
99
100 #define ASI_M_DCDR 0x39
101
102
103
104
105
106
107
108
109
110 #define ASI_V9_RESV0 0x00
111 #define ASI_V9_RESV1 0x01
112 #define ASI_V9_RESV2 0x02
113 #define ASI_V9_RESV3 0x03
114 #define ASI_V9_NUCLEUS 0x04
115 #define ASI_V9_NUCLEUSL 0x0C
116 #define ASI_V9_USER_PRIM 0x10
117 #define ASI_V9_USER_SEC 0x11
118
119 #define ASI_V9_MMUPASS 0x14
120 #define ASI_V9_IOPASS 0x15
121 #define ASI_V9_USER_PRIML 0x18
122 #define ASI_V9_USER_SECL 0x19
123 #define ASI_V9_MMUPASSL 0x1C
124 #define ASI_V9_IOPASSL 0x1D
125 #define ASI_V9_ATOMICQ 0x24
126 #define ASI_V9_ATOMICQL 0x2C
127 #define ASI_V9_LSTORECTL 0x45
128 #define ASI_V9_DCACHE_ENT 0x46
129 #define ASI_V9_DCACHE_TAG 0x47
130 #define ASI_V9_IRQDISPS 0x48
131 #define ASI_V9_IRQRECVS 0x49
132 #define ASI_V9_MMUREGS 0x4A
133 #define ASI_V9_ESTATE 0x4B
134 #define ASI_V9_ASYNC_FSR 0x4C
135 #define ASI_V9_ASYNC_FAR 0x4D
136
137 #define ASI_V9_ECACHE_DIAG 0x4E
138
139 #define ASI_V9_TXTMMU 0x50
140 #define ASI_V9_TXTMMU_D1 0x51
141 #define ASI_V9_TXTMMU_D2 0x52
142 #define ASI_V9_TXTMMU_TDI 0x54
143 #define ASI_V9_TXTMMU_TDA 0x55
144 #define ASI_V9_TXTMMU_TTR 0x56
145 #define ASI_V9_TXTMMU_TDM 0x57
146
147 #define ASI_V9_DATAMMU 0x58
148 #define ASI_V9_DATAMMU_D1 0x59
149 #define ASI_V9_DATAMMU_D2 0x5A
150 #define ASI_V9_DATAMMU_DD 0x5B
151 #define ASI_V9_DATAMMU_TDI 0x5C
152 #define ASI_V9_DATAMMU_TDA 0x5D
153 #define ASI_V9_DATAMMU_TTR 0x5E
154 #define ASI_V9_DATAMMU_TDM 0x5F
155
156 #define ASI_V9_ICACHE_D 0x66
157 #define ASI_V9_ICACHE_T 0x67
158 #define ASI_V9_ICACHE_DEC 0x6E
159 #define ASI_V9_ICACHE_NXT 0x6F
160
161 #define ASI_V9_HUH1 0x70
162 #define ASI_V9_HUH2 0x71
163
164 #define ASI_V9_ECACHE_ACC 0x76
165
166 #define ASI_V9_INTR_DISP 0x77
167 #define ASI_V9_HUH1L 0x78
168 #define ASI_V9_HUH2L 0x79
169 #define ASI_V9_INTR_RECV 0x7f
170
171 #define ASI_V9_PRIMARY 0x80
172 #define ASI_V9_SECONDARY 0x81
173 #define ASI_V9_PRIMARY_NF 0x82
174 #define ASI_V9_SECONDARY_NF 0x83
175
176 #define ASI_V9_PRIMARYL 0x80
177 #define ASI_V9_SECONDARYL 0x81
178 #define ASI_V9_PRIMARY_NFL 0x82
179 #define ASI_V9_SECONDARY_NFL 0x83
180
181 #define ASI_V9_XXX1 0xC0
182 #define ASI_V9_XXX2 0xC1
183 #define ASI_V9_XXX3 0xC2
184 #define ASI_V9_XXX4 0xC3
185 #define ASI_V9_XXX5 0xC4
186 #define ASI_V9_XXX6 0xC5
187 #define ASI_V9_XXX7 0xC8
188 #define ASI_V9_XXX8 0xC9
189 #define ASI_V9_XXX9 0xCA
190 #define ASI_V9_XXX10 0xCB
191 #define ASI_V9_XXX11 0xCC
192 #define ASI_V9_XXX12 0xCD
193
194 #define ASI_V9_XXX13 0xD0
195 #define ASI_V9_XXX14 0xD1
196 #define ASI_V9_XXX15 0xD2
197 #define ASI_V9_XXX16 0xD3
198 #define ASI_V9_XXX17 0xD8
199 #define ASI_V9_XXX18 0xD9
200 #define ASI_V9_XXX19 0xDA
201 #define ASI_V9_XXX20 0xDB
202
203 #define ASI_V9_XXX21 0xE0
204 #define ASI_V9_XXX22 0xE1
205 #define ASI_V9_XXX23 0xF0
206 #define ASI_V9_XXX24 0xF1
207 #define ASI_V9_XXX25 0xF8
208 #define ASI_V9_XXX26 0xF9
209
210 #ifndef __ASSEMBLY__
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227 extern __inline__ unsigned int
228 ldb_sun4m_bypass(unsigned int addr)
229 {
230 unsigned int retval;
231
232 __asm__("lduba [%2] %1, %0\n\t" :
233 "=r" (retval) :
234 "i" (ASI_M_BYPASS), "r" (addr));
235
236 return retval;
237 }
238
239 extern __inline__ unsigned int
240 ldw_sun4m_bypass(unsigned int addr)
241 {
242 unsigned int retval;
243
244 __asm__("lda [%2] %1, %0\n\t" :
245 "=r" (retval) :
246 "i" (ASI_M_BYPASS), "r" (addr));
247
248 return retval;
249 }
250
251 extern __inline__ void
252 stb_sun4m_bypass(unsigned char value, unsigned int addr)
253 {
254 __asm__("stba %0, [%2] %1\n\t" : :
255 "r" (value), "i" (ASI_M_BYPASS), "r" (addr) :
256 "memory");
257 }
258
259 extern __inline__ void
260 stw_sun4m_bypass(unsigned int value, unsigned int addr)
261 {
262 __asm__("sta %0, [%2] %1\n\t" : :
263 "r" (value), "i" (ASI_M_BYPASS), "r" (addr) :
264 "memory");
265 }
266
267 #endif
268
269
270 #endif