1 /*
2  * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 
26 
27 #ifndef VIS_ASI_H
28 #define VIS_ASI_H
29 
30 /* evolved from asm_asi.h in VSDK 1.0 */
31 
32 #ifdef  __cplusplus
33 extern "C" {
34 #endif
35 
36 /* ASI definitions for VIS */
37 
38 #define         ASI_N                                   0x04
39 #define         ASI_NL                                  0x0C
40 #define         ASI_AIUP                                0x10
41 #define         ASI_AIUS                                0x11
42 #define         ASI_AIUPL                               0x18
43 #define         ASI_AIUSL                               0x19
44 #define         ASI_PHYS_USE_EC_L                       0x1C
45 #define         ASI_PHYS_BYPASS_EC_WITH_EBIT_L          0x1D
46 #define         ASI_DC_DATA                             0x46
47 #define         ASI_DC_TAG                              0x47
48 #define         ASI_UPA_CONTROL                         0x4A
49 #define         ASI_MONDO_SEND_CTRL                     0x48
50 #define         ASI_MONDO_RECEIVE_CTRL                  0x49
51 #define         ASI_AFSR                                0x4C
52 #define         ASI_AFAR                                0x4D
53 #define         ASI_EC_TAG_DATA                         0x4E
54 #define         ASI_ICACHE_DATA                         0x66
55 #define         ASI_IC_INSTR                            0x66
56 #define         ASI_IC_TAG                              0x67
57 #define         ASI_IC_PRE_DECODE                       0x6E
58 #define         ASI_IC_NEXT_FIELD                       0x6F
59 #define         ASI_BLK_AIUP                            0x70
60 #define         ASI_BLK_AIUS                            0x71
61 #define         ASI_EC                                  0x76
62 #define         ASI_BLK_AIUPL                           0x78
63 #define         ASI_BLK_AIUSL                           0x79
64 #define         ASI_P                                   0x80
65 #define         ASI_S                                   0x81
66 #define         ASI_PNF                                 0x82
67 #define         ASI_SNF                                 0x83
68 #define         ASI_PL                                  0x88
69 #define         ASI_SL                                  0x89
70 #define         ASI_PNFL                                0x8A
71 #define         ASI_SNFL                                0x8B
72 #define         ASI_PST8_P                              0xC0
73 #define         ASI_PST8_S                              0xC1
74 #define         ASI_PST16_P                             0xC2
75 #define         ASI_PST16_S                             0xC3
76 #define         ASI_PST32_P                             0xC4
77 #define         ASI_PST32_S                             0xC5
78 #define         ASI_PST8_PL                             0xC8
79 #define         ASI_PST8_SL                             0xC9
80 #define         ASI_PST16_PL                            0xCA
81 #define         ASI_PST16_SL                            0xCB
82 #define         ASI_PST32_PL                            0xCC
83 #define         ASI_PST32_SL                            0xCD
84 #define         ASI_FL8_P                               0xD0
85 #define         ASI_FL8_S                               0xD1
86 #define         ASI_FL16_P                              0xD2
87 #define         ASI_FL16_S                              0xD3
88 #define         ASI_FL8_PL                              0xD8
89 #define         ASI_FL8_SL                              0xD9
90 #define         ASI_FL16_PL                             0xDA
91 #define         ASI_FL16_SL                             0xDB
92 #define         ASI_COMMIT_P                            0xE0
93 #define         ASI_COMMIT_S                            0xE1
94 #define         ASI_BLK_P                               0xF0
95 #define         ASI_BLK_S                               0xF1
96 #define         ASI_BLK_PL                              0xF8
97 #define         ASI_BLK_SL                              0xF9
98 
99 #define         ASI_NUCLEUS                             0x04
100 #define         ASI_NUCLEUS_LITTLE                      0x0C
101 #define         ASI_AS_IF_USER_PRIMARY                  0x10
102 #define         ASI_AS_IF_USER_SECONDARY                0x11
103 #define         ASI_PHYS_USE_EC                         0x14
104 #define         ASI_PHYS_BYPASS_EC_WITH_EBIT            0x15
105 #define         ASI_AS_IF_USER_PRIMARY_LITTLE           0x18
106 #define         ASI_AS_IF_USER_SECONDARY_LITTLE         0x19
107 #define         ASI_PHYS_USE_EC_LITTLE                  0x1C
108 #define         ASI_PHYS_BYPASS_EC_WITH_EBIT_LITTLE     0x1D
109 #define         ASI_LSU_CONTROL_REG                     0x45
110 #define         ASI_DCACHE_DATA                         0x46
111 #define         ASI_DCACHE_TAG                          0x47
112 #define         ASI_INTR_DISPATCH_STATUS                0x48
113 #define         ASI_INTR_RECEIVE                        0x49
114 #define         ASI_UPA_CONFIG_REG                      0x4A
115 #define         ASI_ESTATE_ERROR_EN_REG                 0x4B
116 #define         ASI_ASYNC_FAULT_STATUS                  0x4C
117 #define         ASI_ASYNC_FAULT_ADDR                    0x4D
118 #define         ASI_ECACHE_TAG_DATA                     0x4E
119 #define         ASI_OBSERVABILITY_REG                   0x4F
120 #define         ASI_IMMU                                0x50
121 #define         ASI_IMU_TSB_BASE                        0x50
122 #define         ASI_IMU_TAG_ACCESS                      0x50
123 #define         ASI_IMU_SFSR                            0x50
124 #define         ASI_IMU_TAG_TARGET                      0x50
125 #define         ASI_IMU_TSB_POINTER_8K                  0x51
126 #define         ASI_IMU_TSB_POINTER_64K                 0x52
127 #define         ASI_IMU_DATAIN                          0x54
128 #define         ASI_IMMU_DATA_IN                        0x54
129 #define         ASI_IMU_DATA_ACCESS                     0x55
130 #define         ASI_IMU_TAG_READ                        0x56
131 #define         ASI_IMU_DEMAP                           0x57
132 #define         ASI_DMMU                                0x58
133 #define         ASI_PRIMARY_CONTEXT                     0x58
134 #define         ASI_SECONDARY_CONTEXT                   0x58
135 #define         ASI_DMU_TSB_BASE                        0x58
136 #define         ASI_DMU_TAG_ACCESS                      0x58
137 #define         ASI_DMU_TAG_TARGET                      0x58
138 #define         ASI_DMU_SFSR                            0x58
139 #define         ASI_DMU_SFAR                            0x58
140 #define         ASI_DMU_VA_WATCHPOINT                   0x58
141 #define         ASI_DMU_PA_WATCHPOINT                   0x58
142 #define         ASI_DMU_TSB_POINTER_8K                  0x59
143 #define         ASI_DMU_TSB_POINTER_64K                 0x5A
144 #define         ASI_DMU_TSB_POINTER_DIRECT              0x5B
145 #define         ASI_DMU_DATAIN                          0x5C
146 #define         ASI_DMMU_DATA_IN                        0x5C
147 #define         ASI_DMU_DATA_ACCESS                     0x5D
148 #define         ASI_DMU_TAG_READ                        0x5E
149 #define         ASI_DMU_DEMAP                           0x5F
150 #define         ASI_ICACHE_INSTR                        0x66
151 #define         ASI_ICACHE_TAG                          0x67
152 #define         ASI_ICACHE_PRE_DECODE                   0x6E
153 #define         ASI_ICACHE_NEXT_FIELD                   0x6F
154 #define         ASI_BLOCK_AS_IF_USER_PRIMARY            0x70
155 #define         ASI_BLOCK_AS_IF_USER_SECONDARY          0x71
156 #define         ASI_EXT                                 0x76
157 #define         ASI_ECACHE                              0x76
158 #define         ASI_ECACHE_DATA                         0x76
159 #define         ASI_ECACHE_TAG                          0x76
160 #define         ASI_SDB_INTR                            0x77
161 #define         ASI_SDBH_ERR_REG                        0x77
162 #define         ASI_SDBL_ERR_REG                        0x77
163 #define         ASI_SDBH_CONTROL_REG                    0x77
164 #define         ASI_SDBL_CONTROL_REG                    0x77
165 #define         ASI_INTR_DISPATCH                       0x77
166 #define         ASI_INTR_DATA0                          0x77
167 #define         ASI_INTR_DATA1                          0x77
168 #define         ASI_INTR_DATA2                          0x77
169 #define         ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE     0x78
170 #define         ASI_BLOCK_AS_IF_USER_SECONDARY_LITTLE   0x79
171 #define         ASI_PRIMARY                             0x80
172 #define         ASI_SECONDARY                           0x81
173 #define         ASI_PRIMARY_NO_FAULT                    0x82
174 #define         ASI_SECONDARY_NO_FAULT                  0x83
175 #define         ASI_PRIMARY_LITTLE                      0x88
176 #define         ASI_SECONDARY_LITTLE                    0x89
177 #define         ASI_PRIMARY_NO_FAULT_LITTLE             0x8A
178 #define         ASI_SECONDARY_NO_FAULT_LITTLE           0x8B
179 #define         ASI_PST8_PRIMARY                        0xC0
180 #define         ASI_PST8_SECONDARY                      0xC1
181 #define         ASI_PST16_PRIMARY                       0xC2
182 #define         ASI_PST16_SECONDARY                     0xC3
183 #define         ASI_PST32_PRIMARY                       0xC4
184 #define         ASI_PST32_SECONDARY                     0xC5
185 #define         ASI_PST8_PRIMARY_LITTLE                 0xC8
186 #define         ASI_PST8_SECONDARY_LITTLE               0xC9
187 #define         ASI_PST16_PRIMARY_LITTLE                0xCA
188 #define         ASI_PST16_SECONDARY_LITTLE              0xCB
189 #define         ASI_PST32_PRIMARY_LITTLE                0xCC
190 #define         ASI_PST32_SECONDARY_LITTLE              0xCD
191 #define         ASI_FL8_PRIMARY                         0xD0
192 #define         ASI_FL8_SECONDARY                       0xD1
193 #define         ASI_FL16_PRIMARY                        0xD2
194 #define         ASI_FL16_SECONDARY                      0xD3
195 #define         ASI_FL8_PRIMARY_LITTLE                  0xD8
196 #define         ASI_FL8_SECONDARY_LITTLE                0xD9
197 #define         ASI_FL16_PRIMARY_LITTLE                 0xDA
198 #define         ASI_FL16_SECONDARY_LITTLE               0xDB
199 #define         ASI_COMMIT_PRIMARY                      0xE0
200 #define         ASI_COMMIT_SECONDARY                    0xE1
201 #define         ASI_BLOCK_PRIMARY                       0xF0
202 #define         ASI_BLOCK_SECONDARY                     0xF1
203 #define         ASI_BLOCK_PRIMARY_LITTLE                0xF8
204 #define         ASI_BLOCK_SECONDARY_LITTLE              0xF9
205 
206 #ifdef  __cplusplus
207 }
208 #endif
209 
210 #endif  /* VIS_ASI_H */
211