asi.hh revision 3062
111507SCurtis.Dunham@arm.com/* 211507SCurtis.Dunham@arm.com * Copyright (c) 2006 The Regents of The University of Michigan 311754Sandreas.hansson@arm.com * All rights reserved. 411754Sandreas.hansson@arm.com * 511754Sandreas.hansson@arm.com * Redistribution and use in source and binary forms, with or without 611507SCurtis.Dunham@arm.com * modification, are permitted provided that the following conditions are 711754Sandreas.hansson@arm.com * met: redistributions of source code must retain the above copyright 811754Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer; 911754Sandreas.hansson@arm.com * redistributions in binary form must reproduce the above copyright 1011754Sandreas.hansson@arm.com * notice, this list of conditions and the following disclaimer in the 1111754Sandreas.hansson@arm.com * documentation and/or other materials provided with the distribution; 1211507SCurtis.Dunham@arm.com * neither the name of the copyright holders nor the names of its 1311507SCurtis.Dunham@arm.com * contributors may be used to endorse or promote products derived from 1411507SCurtis.Dunham@arm.com * this software without specific prior written permission. 1511507SCurtis.Dunham@arm.com * 1611754Sandreas.hansson@arm.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1711606Sandreas.sandberg@arm.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1811680SCurtis.Dunham@arm.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1911680SCurtis.Dunham@arm.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2011606Sandreas.sandberg@arm.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2111606Sandreas.sandberg@arm.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2211680SCurtis.Dunham@arm.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2311680SCurtis.Dunham@arm.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2411606Sandreas.sandberg@arm.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2511680SCurtis.Dunham@arm.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2611680SCurtis.Dunham@arm.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2711680SCurtis.Dunham@arm.com * 2811680SCurtis.Dunham@arm.com * Authors: Gabe Black 2911680SCurtis.Dunham@arm.com */ 3011754Sandreas.hansson@arm.com 3111754Sandreas.hansson@arm.com#ifndef __ARCH_SPARC_ASI_HH__ 3211680SCurtis.Dunham@arm.com#define __ARCH_SPARC_ASI_HH__ 3311680SCurtis.Dunham@arm.com 3411754Sandreas.hansson@arm.comnamespace SparcISA 3511754Sandreas.hansson@arm.com{ 3611754Sandreas.hansson@arm.com enum ASI { 3711680SCurtis.Dunham@arm.com /* Priveleged ASIs */ 3811754Sandreas.hansson@arm.com //0x00-0x03 implementation dependent 3911754Sandreas.hansson@arm.com ASI_NUCLEUS = 0x4, 4011680SCurtis.Dunham@arm.com ASI_N = 0x4, 4111680SCurtis.Dunham@arm.com //0x05-0x0B implementation dependent 4211680SCurtis.Dunham@arm.com ASI_NL = 0xC, 4311680SCurtis.Dunham@arm.com ASI_NUCLEUS_LITTLE = ASI_NL, 4411680SCurtis.Dunham@arm.com //0x0D-0x0F implementation dependent 4511680SCurtis.Dunham@arm.com ASI_AIUP = 0x10, 4611680SCurtis.Dunham@arm.com ASI_AS_IF_USER_PRIMARY = ASI_AIUP, 4711680SCurtis.Dunham@arm.com ASI_AIUS = 0x11, 4811680SCurtis.Dunham@arm.com ASI_AS_IF_USER_SECONDARY = ASI_AIUS, 4911680SCurtis.Dunham@arm.com //0x12-0x13 implementation dependent 5011507SCurtis.Dunham@arm.com ASI_REAL = 0x14, 5111507SCurtis.Dunham@arm.com ASI_REAL_IO = 0x15, 5211680SCurtis.Dunham@arm.com ASI_BLK_AIUP = 0x16, 5311680SCurtis.Dunham@arm.com ASI_BLOCK_AS_IF_USER_PRIMARY = ASI_BLK_AIUP, 5411680SCurtis.Dunham@arm.com ASI_BLK_AIUS = 0x17, 5511680SCurtis.Dunham@arm.com ASI_BLOCK_AS_IF_USER_SECONDARY = ASI_BLK_AIUS, 5611606Sandreas.sandberg@arm.com ASI_AIUPL = 0x18, 5711680SCurtis.Dunham@arm.com ASI_AS_IF_USER_PRIMARY_LITTLE = ASI_AIUPL, 5811680SCurtis.Dunham@arm.com ASI_AIUSL = 0x19, 5911680SCurtis.Dunham@arm.com ASI_AS_IF_USER_SECONDARY_LITTLE = ASI_AIUSL, 6011680SCurtis.Dunham@arm.com //0x1A-0x1B implementation dependent 6111680SCurtis.Dunham@arm.com ASI_REAL_L = 0x1C, 6211680SCurtis.Dunham@arm.com ASI_REAL_LITTLE = ASI_REAL_L, 6311680SCurtis.Dunham@arm.com ASI_REAL_IO_L = 0x1D, 6411754Sandreas.hansson@arm.com ASI_REAL_IO_LITTLE = ASI_REAL_IO_L, 6511680SCurtis.Dunham@arm.com ASI_BLK_AIUPL = 0x1E, 6611680SCurtis.Dunham@arm.com ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE = ASI_BLK_AIUPL, 6711754Sandreas.hansson@arm.com ASI_BLK_AIUSL = 0x1F, 6811606Sandreas.sandberg@arm.com ASI_BLOCK_AS_IF_USER_SECONDARY_LITTLE = ASI_BLK_AIUSL, 6911680SCurtis.Dunham@arm.com ASI_SCRATCHPAD = 0x20, 7011606Sandreas.sandberg@arm.com ASI_MMU_CONTEXTID = 0x21, 7111606Sandreas.sandberg@arm.com ASI_LDTX_AIUP = 0x22, 7211606Sandreas.sandberg@arm.com ASI_LD_TWINX_AS_IF_USER_PRIMARY = ASI_LDTX_AIUP, 7311606Sandreas.sandberg@arm.com ASI_LDTX_AIUS = 0x23, 7411606Sandreas.sandberg@arm.com ASI_LD_TWINX_AS_IF_USER_SECONDARY = ASI_LDTX_AIUS, 7511680SCurtis.Dunham@arm.com //0x24 implementation dependent 7611680SCurtis.Dunham@arm.com ASI_QUEUE = 0x25, 7711680SCurtis.Dunham@arm.com ASI_LDTX_REAL = 0x26, 7811680SCurtis.Dunham@arm.com ASI_LD_TWINX_REAL = ASI_LDTX_REAL, 7911680SCurtis.Dunham@arm.com ASI_LDTX_N = 0x27, 8011680SCurtis.Dunham@arm.com ASI_LD_TWINX_NUCLEUS = ASI_LDTX_N, 8111680SCurtis.Dunham@arm.com //0x28-0x29 implementation dependent 8211606Sandreas.sandberg@arm.com ASI_LDTX_AIUPL = 0x2A, 8311606Sandreas.sandberg@arm.com ASI_LD_TWINX_AS_IF_USER_PRIMARY_LITTLE = ASI_LDTX_AIUPL, 8411507SCurtis.Dunham@arm.com ASI_LDTX_AIUSL = 0x2B, 8511507SCurtis.Dunham@arm.com ASI_LD_TWINX_AS_IF_USER_SECONDARY_LITTLE = ASI_LDTX_AIUSL, 8611754Sandreas.hansson@arm.com //0x2C-0x2D implementation dependent 8711507SCurtis.Dunham@arm.com ASI_LDTX_REAL_L = 0x2E, 8811507SCurtis.Dunham@arm.com ASI_LD_TWINX_REAL_LITTLE = ASI_LDTX_REAL_L, 8911507SCurtis.Dunham@arm.com ASI_LDTX_NL = 0x2F, 9011507SCurtis.Dunham@arm.com ASI_LD_TWINX_NUCLEUS_LITTLE = ASI_LDTX_NL, 9111507SCurtis.Dunham@arm.com //0x30-0x40 implementation dependent 9211507SCurtis.Dunham@arm.com ASI_CMT_SHARED = 0x41, 9311680SCurtis.Dunham@arm.com //0x42-0x4F implementation dependent 9411507SCurtis.Dunham@arm.com ASI_HYP_SCRATCHPAD = 0x4F, 9511507SCurtis.Dunham@arm.com ASI_IMMU = 0x50, 9611507SCurtis.Dunham@arm.com ASI_MMU_REAL = 0x52, 9711507SCurtis.Dunham@arm.com //0x53 implementation dependent 9811507SCurtis.Dunham@arm.com ASI_MMU = 0x54, 9911507SCurtis.Dunham@arm.com ASI_ITLB_DATA_ACCESS_REG = 0x55, 10011680SCurtis.Dunham@arm.com ASI_ITLB_TAG_READ_REG = 0x56, 10111754Sandreas.hansson@arm.com ASI_IMMU_DEMAP = 0x57, 10211754Sandreas.hansson@arm.com ASI_DMMU = 0x58, 10311570SCurtis.Dunham@arm.com ASI_UMMU = 0x58, 10411507SCurtis.Dunham@arm.com //0x59-0x5B reserved 10511507SCurtis.Dunham@arm.com ASI_DTLB_DATA_IN_REG = 0x5C, 10611507SCurtis.Dunham@arm.com ASI_DTLB_DATA_ACCESS_REG = 0x5D, 10711507SCurtis.Dunham@arm.com ASI_DTLB_TAG_READ_REG = 0x5E, 10811507SCurtis.Dunham@arm.com ASI_DMMU_DEMAP = 0x5F, 10911507SCurtis.Dunham@arm.com //0x60-62 implementation dependent 11011507SCurtis.Dunham@arm.com ASI_CMT_PER_STRAND = 0x63, 11111507SCurtis.Dunham@arm.com //0x64-0x67 implementation dependent 11211507SCurtis.Dunham@arm.com //0x68-0x7F reserved 11311507SCurtis.Dunham@arm.com 11411507SCurtis.Dunham@arm.com /* Unpriveleged ASIs */ 11511507SCurtis.Dunham@arm.com ASI_P = 0x80, 11611507SCurtis.Dunham@arm.com ASI_PRIMARY = ASI_P, 11711507SCurtis.Dunham@arm.com ASI_S = 0x81, 11811507SCurtis.Dunham@arm.com ASI_SECONDARY = ASI_S, 11911507SCurtis.Dunham@arm.com ASI_PNF = 0x82, 12011507SCurtis.Dunham@arm.com ASI_PRIMARY_NO_FAULT = ASI_PNF, 12111507SCurtis.Dunham@arm.com ASI_SNF = 0x83, 12211507SCurtis.Dunham@arm.com ASI_SECONDARY_NO_FAULT = ASI_SNF, 12311507SCurtis.Dunham@arm.com //0x84-0x87 reserved 12411507SCurtis.Dunham@arm.com ASI_PL = 0x88, 12511507SCurtis.Dunham@arm.com ASI_PRIMARY_LITTLE = ASI_PL, 12611507SCurtis.Dunham@arm.com ASI_SL = 0x89, 12711507SCurtis.Dunham@arm.com ASI_SECONDARY_LITTLE = ASI_SL, 12811507SCurtis.Dunham@arm.com ASI_PNFL = 0x8A, 12911507SCurtis.Dunham@arm.com ASI_PRIMARY_NO_FAULT_LITTLE = ASI_PNFL, 13011507SCurtis.Dunham@arm.com ASI_SNFL = 0x8B, 13111507SCurtis.Dunham@arm.com ASI_SECONDARY_NO_FAULT_LITTLE = ASI_SNFL, 13211507SCurtis.Dunham@arm.com //0x8C-0xBF reserved 13311507SCurtis.Dunham@arm.com ASI_PST8_P = 0xC0, 13411507SCurtis.Dunham@arm.com ASI_PST8_PRIMARY = ASI_PST8_P, 13511507SCurtis.Dunham@arm.com ASI_PST8_S = 0xC1, 13611507SCurtis.Dunham@arm.com ASI_PST8_SECONDARY = ASI_PST8_S, 13711507SCurtis.Dunham@arm.com ASI_PST16_P = 0xC2, 13811507SCurtis.Dunham@arm.com ASI_PST16_PRIMARY = ASI_PST16_P, 13911507SCurtis.Dunham@arm.com ASI_PST16_S = 0xC3, 14011507SCurtis.Dunham@arm.com ASI_PST16_SECONDARY = ASI_PST16_S, 14111507SCurtis.Dunham@arm.com ASI_PST32_P = 0xC4, 14211507SCurtis.Dunham@arm.com ASI_PST32_PRIMARY = ASI_PST32_P, 14311507SCurtis.Dunham@arm.com ASI_PST32_S = 0xC5 14411507SCurtis.Dunham@arm.com ASI_PST32_SECONDARY = ASI_PST32_S, 14511507SCurtis.Dunham@arm.com //0xC6-0xC7 implementation dependent 14611507SCurtis.Dunham@arm.com ASI_PST8_PL = 0xC8 14711507SCurtis.Dunham@arm.com ASI_PST8_PRIMARY_LITTLE = ASI_PST8_PL, 14811754Sandreas.hansson@arm.com ASI_PST8_SL = 0xC9, 14911754Sandreas.hansson@arm.com ASI_PST8_SECONDARY_LITTLE = ASI_PST8_SL, 15011754Sandreas.hansson@arm.com ASI_PST16_PL = 0xCA, 15111754Sandreas.hansson@arm.com ASI_PST16_PRIMARY_LITTLE = ASI_PST16_PL, 15211754Sandreas.hansson@arm.com ASI_PST16_SL = 0xCB, 15311754Sandreas.hansson@arm.com ASI_PST16_SECONDARY_LITTLE = ASI_PST16_SL, 15411754Sandreas.hansson@arm.com ASI_PST32_PL = 0xCC, 15511754Sandreas.hansson@arm.com ASI_PST32_PRIMARY_LITTLE = ASI_PST32_PL, 15611754Sandreas.hansson@arm.com ASI_PST32_SL = 0xCD, 15711754Sandreas.hansson@arm.com ASI_PST32_SECONDARY_LITTLE = ASI_PST32_SL, 15811754Sandreas.hansson@arm.com //0xCE-0xCF implementation dependent 15911680SCurtis.Dunham@arm.com ASI_PL8_P = 0xD0, 16011754Sandreas.hansson@arm.com ASI_PL8_PRIMARY = ASI_PL8_P, 16111680SCurtis.Dunham@arm.com ASI_PL8_S = 0xD1, 16211754Sandreas.hansson@arm.com ASI_PL8_SECONDARY = ASI_PL8_S, 16311754Sandreas.hansson@arm.com ASI_PL16_P = 0xD2, 16411754Sandreas.hansson@arm.com ASI_PL16_PRIMARY = ASI_PL16_P, 16511754Sandreas.hansson@arm.com ASI_PL16_S = 0xD3, 16611680SCurtis.Dunham@arm.com ASI_PL16_SECONDARY = ASI_PL16_S, 16711680SCurtis.Dunham@arm.com //0xD4-0xD7 implementation dependent 16811606Sandreas.sandberg@arm.com ASI_PL8_PL = 0xD8, 16911570SCurtis.Dunham@arm.com ASI_PL8_PRIMARY_LITTLE = ASI_PL8_PL, 17011570SCurtis.Dunham@arm.com ASI_PL8_SL = 0xD9, 17111570SCurtis.Dunham@arm.com ASI_PL8_SECONDARY_LITTLE = ASI_PL8_SL, 17211507SCurtis.Dunham@arm.com ASI_PL16_PL = 0xDA, 17311507SCurtis.Dunham@arm.com ASI_PL16_PRIMARY_LITTLE = ASI_PL16_PL, 17411507SCurtis.Dunham@arm.com ASI_PL16_SL = 0xDB, 17511507SCurtis.Dunham@arm.com ASI_PL16_SECONDARY_LITTLE = ASI_PL16_SL, 17611507SCurtis.Dunham@arm.com //0xDC-0xDF implementation dependent 17711507SCurtis.Dunham@arm.com //0xE0-0xE1 reserved 17811507SCurtis.Dunham@arm.com ASI_LDTX_P = 0xE2, 17911507SCurtis.Dunham@arm.com ASI_LD_TWINX_PRIMARY = ASI_LDTX_P, 18011507SCurtis.Dunham@arm.com ASI_LDTX_S = 0xE3, 18111507SCurtis.Dunham@arm.com ASI_LD_TWINX_SECONDARY = ASI_LDTX_S, 18211507SCurtis.Dunham@arm.com //0xE4-0xE9 implementation dependent 18311507SCurtis.Dunham@arm.com ASI_LDTX_PL = 0xEA, 18411507SCurtis.Dunham@arm.com ASI_LD_TWINX_PRIMARY_LITTLE = ASI_LDTX_PL, 18511507SCurtis.Dunham@arm.com ASI_LDTX_SL = 0xEB, 18611507SCurtis.Dunham@arm.com ASI_LD_TWINX_SECONDARY_LITTLE = ASI_LDTX_SL, 18711507SCurtis.Dunham@arm.com //0xEC-0xEF implementation dependent 18811507SCurtis.Dunham@arm.com ASI_BLK_P = 0xF0, 18911507SCurtis.Dunham@arm.com ASI_BLOCK_PRIMARY = ASI_BLK_P, 19011507SCurtis.Dunham@arm.com ASI_BLK_S = 0xF1, 19111507SCurtis.Dunham@arm.com ASI_BLOCK_SECONDARY = ASI_BLK_S, 19211507SCurtis.Dunham@arm.com //0xF2-0xF7 implementation dependent 19311507SCurtis.Dunham@arm.com ASI_BLK_PL = 0xF8, 19411507SCurtis.Dunham@arm.com ASI_BLOCK_PRIMARY_LITTLE = ASI_BLK_PL, 19511507SCurtis.Dunham@arm.com ASI_BLK_SL = 0xF9, 19611507SCurtis.Dunham@arm.com ASI_BLOCK_SECONDARY_LITTLE = ASI_BLK_SL 19711754Sandreas.hansson@arm.com //0xFA-0xFF implementation dependent 19811754Sandreas.hansson@arm.com }; 19911754Sandreas.hansson@arm.com}; 20011754Sandreas.hansson@arm.com 20111754Sandreas.hansson@arm.com#endif // __ARCH_SPARC_TLB_HH__ 20211754Sandreas.hansson@arm.com