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 */