| /* |
| * Xtensa Special Register symbolic names |
| */ |
| |
| /* $Id: //depot/rel/Foxhill/dot.8/Xtensa/OS/include/xtensa/specreg.h#1 $ */ |
| |
| /* |
| * Copyright (c) 2005-2011 Tensilica Inc. |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining |
| * a copy of this software and associated documentation files (the |
| * "Software"), to deal in the Software without restriction, including |
| * without limitation the rights to use, copy, modify, merge, publish, |
| * distribute, sublicense, and/or sell copies of the Software, and to |
| * permit persons to whom the Software is furnished to do so, subject to |
| * the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included |
| * in all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
| * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
| * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
| * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| */ |
| |
| #ifndef XTENSA_SPECREG_H |
| #define XTENSA_SPECREG_H |
| |
| /* Special registers: */ |
| #define LBEG 0 |
| #define LEND 1 |
| #define LCOUNT 2 |
| #define SAR 3 |
| #define BR 4 |
| #define LITBASE 5 |
| #define SCOMPARE1 12 |
| #define ACCLO 16 |
| #define ACCHI 17 |
| #define MR_0 32 |
| #define MR_1 33 |
| #define MR_2 34 |
| #define MR_3 35 |
| #define PREFCTL 40 |
| #define WINDOWBASE 72 |
| #define WINDOWSTART 73 |
| #define PTEVADDR 83 |
| #define RASID 90 |
| #define ITLBCFG 91 |
| #define DTLBCFG 92 |
| #define IBREAKENABLE 96 |
| #define MEMCTL 97 |
| #define CACHEATTR 98 /* until T1050, XEA1 */ |
| #define CACHEADRDIS 98 /* LX7+ */ |
| #define ATOMCTL 99 |
| #define DDR 104 |
| #define MECR 110 |
| #define IBREAKA_0 128 |
| #define IBREAKA_1 129 |
| #define DBREAKA_0 144 |
| #define DBREAKA_1 145 |
| #define DBREAKC_0 160 |
| #define DBREAKC_1 161 |
| #define CONFIGID0 176 |
| #define EPC_1 177 |
| #define EPC_2 178 |
| #define EPC_3 179 |
| #define EPC_4 180 |
| #define EPC_5 181 |
| #define EPC_6 182 |
| #define EPC_7 183 |
| #define DEPC 192 |
| #define EPS_2 194 |
| #define EPS_3 195 |
| #define EPS_4 196 |
| #define EPS_5 197 |
| #define EPS_6 198 |
| #define EPS_7 199 |
| #define CONFIGID1 208 |
| #define EXCSAVE_1 209 |
| #define EXCSAVE_2 210 |
| #define EXCSAVE_3 211 |
| #define EXCSAVE_4 212 |
| #define EXCSAVE_5 213 |
| #define EXCSAVE_6 214 |
| #define EXCSAVE_7 215 |
| #define CPENABLE 224 |
| #define INTERRUPT 226 |
| #define INTREAD INTERRUPT /* alternate name for backward compatibility */ |
| #define INTSET INTERRUPT /* alternate name for backward compatibility */ |
| #define INTCLEAR 227 |
| #define INTENABLE 228 |
| #define PS 230 |
| #define VECBASE 231 |
| #define EXCCAUSE 232 |
| #define DEBUGCAUSE 233 |
| #define CCOUNT 234 |
| #define PRID 235 |
| #define ICOUNT 236 |
| #define ICOUNTLEVEL 237 |
| #define EXCVADDR 238 |
| #define CCOMPARE_0 240 |
| #define CCOMPARE_1 241 |
| #define CCOMPARE_2 242 |
| #define MISC_REG_0 244 |
| #define MISC_REG_1 245 |
| #define MISC_REG_2 246 |
| #define MISC_REG_3 247 |
| |
| /* Special cases (bases of special register series): */ |
| #define MR 32 |
| #define IBREAKA 128 |
| #define DBREAKA 144 |
| #define DBREAKC 160 |
| #define EPC 176 |
| #define EPS 192 |
| #define EXCSAVE 208 |
| #define CCOMPARE 240 |
| #define MISC_REG 244 |
| |
| /* Tensilica-defined user registers: */ |
| #if 0 |
| /*#define ... 21..24 */ /* (545CK) */ |
| /*#define ... 140..143 */ /* (545CK) */ |
| #define EXPSTATE 230 /* Diamond */ |
| #define THREADPTR 231 /* threadptr option */ |
| #define FCR 232 /* FPU */ |
| #define FSR 233 /* FPU */ |
| #define AE_OVF_SAR 240 /* HiFi2 */ |
| #define AE_BITHEAD 241 /* HiFi2 */ |
| #define AE_TS_FTS_BU_BP 242 /* HiFi2 */ |
| #define AE_SD_NO 243 /* HiFi2 */ |
| #define VSAR 240 /* VectraLX */ |
| #define ROUND_LO 242 /* VectraLX */ |
| #define ROUND_HI 243 /* VectraLX */ |
| #define CBEGIN 246 /* VectraLX */ |
| #define CEND 247 /* VectraLX */ |
| #endif |
| |
| #endif /* XTENSA_SPECREG_H */ |
| |