dev: consistently end device classes in 'Device'
[gem5.git] / src / arch / sparc / asi.cc
index 14e581e433d3e6905ecec0198c3be7d96040ea1a..73b8c16f65b1b6d2b480c5607a676d5134903780 100644 (file)
 
 namespace SparcISA
 {
-    bool AsiIsBlock(ASI asi)
-    {
-        return
-            (asi == ASI_BLK_AIUP) ||
-            (asi == ASI_BLK_AIUS) ||
-            (asi == ASI_BLK_AIUP_L) ||
-            (asi == ASI_BLK_AIUS_L) ||
-            (asi == ASI_BLK_P) ||
-            (asi == ASI_BLK_S) ||
-            (asi == ASI_BLK_PL) ||
-            (asi == ASI_BLK_SL);
-    }
 
-    bool AsiIsPrimary(ASI asi)
-    {
-        return
-            (asi == ASI_AIUP) ||
-            (asi == ASI_BLK_AIUP) ||
-            (asi == ASI_AIUP_L) ||
-            (asi == ASI_BLK_AIUP_L) ||
-            (asi == ASI_LDTX_AIUP) ||
-            (asi == ASI_LDTX_AIUP_L) ||
-            (asi == ASI_P) ||
-            (asi == ASI_PNF) ||
-            (asi == ASI_PL) ||
-            (asi == ASI_PNFL) ||
-            (asi == ASI_PST8_P) ||
-            (asi == ASI_PST16_P) ||
-            (asi == ASI_PST32_P) ||
-            (asi == ASI_PST8_PL) ||
-            (asi == ASI_PST16_PL) ||
-            (asi == ASI_PST32_PL) ||
-            (asi == ASI_FL8_P) ||
-            (asi == ASI_FL16_P) ||
-            (asi == ASI_FL8_PL) ||
-            (asi == ASI_FL16_PL) ||
-            (asi == ASI_LDTX_P) ||
-            (asi == ASI_LDTX_PL) ||
-            (asi == ASI_BLK_P) ||
-            (asi == ASI_BLK_PL);
-    }
+bool
+asiIsBlock(ASI asi)
+{
+    return asi == ASI_BLK_AIUP ||
+           asi == ASI_BLK_AIUS ||
+           asi == ASI_BLK_AIUP_L ||
+           asi == ASI_BLK_AIUS_L ||
+           asi == ASI_BLK_P ||
+           asi == ASI_BLK_S ||
+           asi == ASI_BLK_PL ||
+           asi == ASI_BLK_SL;
+}
 
-    bool AsiIsSecondary(ASI asi)
-    {
-        return
-            (asi == ASI_AIUS) ||
-            (asi == ASI_BLK_AIUS) ||
-            (asi == ASI_AIUS_L) ||
-            (asi == ASI_BLK_AIUS_L) ||
-            (asi == ASI_LDTX_AIUS) ||
-            (asi == ASI_LDTX_AIUS_L) ||
-            (asi == ASI_S) ||
-            (asi == ASI_SNF) ||
-            (asi == ASI_SL) ||
-            (asi == ASI_SNFL) ||
-            (asi == ASI_PST8_S) ||
-            (asi == ASI_PST16_S) ||
-            (asi == ASI_PST32_S) ||
-            (asi == ASI_PST8_SL) ||
-            (asi == ASI_PST16_SL) ||
-            (asi == ASI_PST32_SL) ||
-            (asi == ASI_FL8_S) ||
-            (asi == ASI_FL16_S) ||
-            (asi == ASI_FL8_SL) ||
-            (asi == ASI_FL16_SL) ||
-            (asi == ASI_LDTX_S) ||
-            (asi == ASI_LDTX_SL) ||
-            (asi == ASI_BLK_S) ||
-            (asi == ASI_BLK_SL);
-    }
+bool
+asiIsPrimary(ASI asi)
+{
+    return asi == ASI_AIUP ||
+           asi == ASI_BLK_AIUP ||
+           asi == ASI_AIUP_L ||
+           asi == ASI_BLK_AIUP_L ||
+           asi == ASI_LDTX_AIUP ||
+           asi == ASI_LDTX_AIUP_L ||
+           asi == ASI_P ||
+           asi == ASI_PNF ||
+           asi == ASI_PL ||
+           asi == ASI_PNFL ||
+           asi == ASI_PST8_P ||
+           asi == ASI_PST16_P ||
+           asi == ASI_PST32_P ||
+           asi == ASI_PST8_PL ||
+           asi == ASI_PST16_PL ||
+           asi == ASI_PST32_PL ||
+           asi == ASI_FL8_P ||
+           asi == ASI_FL16_P ||
+           asi == ASI_FL8_PL ||
+           asi == ASI_FL16_PL ||
+           asi == ASI_LDTX_P ||
+           asi == ASI_LDTX_PL ||
+           asi == ASI_BLK_P ||
+           asi == ASI_BLK_PL;
+}
 
-    bool AsiNucleus(ASI asi)
-    {
-        return
-            (asi == ASI_N) ||
-            (asi == ASI_NL) ||
-            (asi == ASI_LDTX_N) ||
-            (asi == ASI_LDTX_NL);
-    }
+bool
+asiIsSecondary(ASI asi)
+{
+    return asi == ASI_AIUS ||
+           asi == ASI_BLK_AIUS ||
+           asi == ASI_AIUS_L ||
+           asi == ASI_BLK_AIUS_L ||
+           asi == ASI_LDTX_AIUS ||
+           asi == ASI_LDTX_AIUS_L ||
+           asi == ASI_S ||
+           asi == ASI_SNF ||
+           asi == ASI_SL ||
+           asi == ASI_SNFL ||
+           asi == ASI_PST8_S ||
+           asi == ASI_PST16_S ||
+           asi == ASI_PST32_S ||
+           asi == ASI_PST8_SL ||
+           asi == ASI_PST16_SL ||
+           asi == ASI_PST32_SL ||
+           asi == ASI_FL8_S ||
+           asi == ASI_FL16_S ||
+           asi == ASI_FL8_SL ||
+           asi == ASI_FL16_SL ||
+           asi == ASI_LDTX_S ||
+           asi == ASI_LDTX_SL ||
+           asi == ASI_BLK_S ||
+           asi == ASI_BLK_SL;
+}
 
-    bool AsiIsAsIfUser(ASI asi)
-    {
-        return
-            (asi == ASI_AIUP) ||
-            (asi == ASI_AIUS) ||
-            (asi == ASI_BLK_AIUP) ||
-            (asi == ASI_BLK_AIUS) ||
-            (asi == ASI_AIUP_L) ||
-            (asi == ASI_AIUS_L) ||
-            (asi == ASI_BLK_AIUP_L) ||
-            (asi == ASI_BLK_AIUS_L) ||
-            (asi == ASI_LDTX_AIUP) ||
-            (asi == ASI_LDTX_AIUS) ||
-            (asi == ASI_LDTX_AIUP_L) ||
-            (asi == ASI_LDTX_AIUS_L);
-    }
+bool
+asiIsNucleus(ASI asi)
+{
+    return asi == ASI_N ||
+           asi == ASI_NL ||
+           asi == ASI_LDTX_N ||
+           asi == ASI_LDTX_NL;
+}
 
-    bool AsiIsIO(ASI asi)
-    {
-        return
-            (asi == ASI_REAL_IO) ||
-            (asi == ASI_REAL_IO_L);
-    }
+bool
+asiIsAsIfUser(ASI asi)
+{
+    return asi == ASI_AIUP ||
+           asi == ASI_AIUS ||
+           asi == ASI_BLK_AIUP ||
+           asi == ASI_BLK_AIUS ||
+           asi == ASI_AIUP_L ||
+           asi == ASI_AIUS_L ||
+           asi == ASI_BLK_AIUP_L ||
+           asi == ASI_BLK_AIUS_L ||
+           asi == ASI_LDTX_AIUP ||
+           asi == ASI_LDTX_AIUS ||
+           asi == ASI_LDTX_AIUP_L ||
+           asi == ASI_LDTX_AIUS_L;
+}
 
-    bool AsiIsReal(ASI asi)
-    {
-        return
-            (asi == ASI_REAL) ||
-            (asi == ASI_REAL_IO) ||
-            (asi == ASI_REAL_L) ||
-            (asi == ASI_REAL_IO_L) ||
-            (asi == ASI_LDTX_REAL) ||
-            (asi == ASI_LDTX_REAL_L);
-    }
+bool
+asiIsIO(ASI asi)
+{
+    return asi == ASI_REAL_IO ||
+           asi == ASI_REAL_IO_L;
+}
 
-    bool AsiIsLittle(ASI asi)
-    {
-        return
-            (asi == ASI_NL) ||
-            (asi == ASI_AIUP_L) ||
-            (asi == ASI_AIUS_L) ||
-            (asi == ASI_REAL_L) ||
-            (asi == ASI_REAL_IO_L) ||
-            (asi == ASI_BLK_AIUP_L) ||
-            (asi == ASI_BLK_AIUS_L) ||
-            (asi == ASI_LDTX_AIUP_L) ||
-            (asi == ASI_LDTX_AIUS_L) ||
-            (asi == ASI_LDTX_REAL_L) ||
-            (asi == ASI_LDTX_NL) ||
-            (asi == ASI_PL) ||
-            (asi == ASI_SL) ||
-            (asi == ASI_PNFL) ||
-            (asi == ASI_SNFL) ||
-            (asi == ASI_PST8_PL) ||
-            (asi == ASI_PST8_SL) ||
-            (asi == ASI_PST16_PL) ||
-            (asi == ASI_PST16_SL) ||
-            (asi == ASI_PST32_PL) ||
-            (asi == ASI_PST32_SL) ||
-            (asi == ASI_FL8_PL) ||
-            (asi == ASI_FL8_SL) ||
-            (asi == ASI_FL16_PL) ||
-            (asi == ASI_FL16_SL) ||
-            (asi == ASI_LDTX_PL) ||
-            (asi == ASI_LDTX_SL) ||
-            (asi == ASI_BLK_PL) ||
-            (asi == ASI_BLK_SL);
-    }
+bool
+asiIsReal(ASI asi)
+{
+    return asi == ASI_REAL ||
+           asi == ASI_REAL_IO ||
+           asi == ASI_REAL_L ||
+           asi == ASI_REAL_IO_L ||
+           asi == ASI_LDTX_REAL ||
+           asi == ASI_LDTX_REAL_L;
+}
 
-    bool AsiIsTwin(ASI asi)
-    {
-        return
-            (asi == ASI_LDTX_AIUP) ||
-            (asi == ASI_LDTX_AIUS) ||
-            (asi == ASI_LDTX_REAL) ||
-            (asi == ASI_LDTX_N) ||
-            (asi == ASI_LDTX_AIUP_L) ||
-            (asi == ASI_LDTX_AIUS_L) ||
-            (asi == ASI_LDTX_REAL_L) ||
-            (asi == ASI_LDTX_NL) ||
-            (asi == ASI_LDTX_P) ||
-            (asi == ASI_LDTX_S) ||
-            (asi == ASI_LDTX_PL) ||
-            (asi == ASI_LDTX_SL);
-    }
+bool
+asiIsLittle(ASI asi)
+{
+    return asi == ASI_NL ||
+           asi == ASI_AIUP_L ||
+           asi == ASI_AIUS_L ||
+           asi == ASI_REAL_L ||
+           asi == ASI_REAL_IO_L ||
+           asi == ASI_BLK_AIUP_L ||
+           asi == ASI_BLK_AIUS_L ||
+           asi == ASI_LDTX_AIUP_L ||
+           asi == ASI_LDTX_AIUS_L ||
+           asi == ASI_LDTX_REAL_L ||
+           asi == ASI_LDTX_NL ||
+           asi == ASI_PL ||
+           asi == ASI_SL ||
+           asi == ASI_PNFL ||
+           asi == ASI_SNFL ||
+           asi == ASI_PST8_PL ||
+           asi == ASI_PST8_SL ||
+           asi == ASI_PST16_PL ||
+           asi == ASI_PST16_SL ||
+           asi == ASI_PST32_PL ||
+           asi == ASI_PST32_SL ||
+           asi == ASI_FL8_PL ||
+           asi == ASI_FL8_SL ||
+           asi == ASI_FL16_PL ||
+           asi == ASI_FL16_SL ||
+           asi == ASI_LDTX_PL ||
+           asi == ASI_LDTX_SL ||
+           asi == ASI_BLK_PL ||
+           asi == ASI_BLK_SL ||
+           asi == ASI_LTX_L;
+}
 
-    bool AsiIsPartialStore(ASI asi)
-    {
-        return
-            (asi == ASI_PST8_P) ||
-            (asi == ASI_PST8_S) ||
-            (asi == ASI_PST16_P) ||
-            (asi == ASI_PST16_S) ||
-            (asi == ASI_PST32_P) ||
-            (asi == ASI_PST32_S) ||
-            (asi == ASI_PST8_PL) ||
-            (asi == ASI_PST8_SL) ||
-            (asi == ASI_PST16_PL) ||
-            (asi == ASI_PST16_SL) ||
-            (asi == ASI_PST32_PL) ||
-            (asi == ASI_PST32_SL);
-    }
+bool
+asiIsTwin(ASI asi)
+{
+    return (asi >= ASI_LDTX_AIUP &&
+            asi <= ASI_LDTX_N &&
+            asi != ASI_QUEUE) ||
+           (asi >= ASI_LDTX_AIUP_L &&
+            asi <= ASI_LDTX_NL &&
+            asi != 0x2D) ||
+           asi == ASI_LDTX_P ||
+           asi == ASI_LDTX_S ||
+           asi == ASI_LDTX_PL ||
+           asi == ASI_LDTX_SL;
+}
 
-    bool AsiIsFloatingLoad(ASI asi)
-    {
-        return
-            (asi == ASI_FL8_P) ||
-            (asi == ASI_FL8_S) ||
-            (asi == ASI_FL16_P) ||
-            (asi == ASI_FL16_S) ||
-            (asi == ASI_FL8_PL) ||
-            (asi == ASI_FL8_SL) ||
-            (asi == ASI_FL16_PL) ||
-            (asi == ASI_FL16_SL);
-    }
+bool
+asiIsPartialStore(ASI asi)
+{
+    return asi == ASI_PST8_P ||
+           asi == ASI_PST8_S ||
+           asi == ASI_PST16_P ||
+           asi == ASI_PST16_S ||
+           asi == ASI_PST32_P ||
+           asi == ASI_PST32_S ||
+           asi == ASI_PST8_PL ||
+           asi == ASI_PST8_SL ||
+           asi == ASI_PST16_PL ||
+           asi == ASI_PST16_SL ||
+           asi == ASI_PST32_PL ||
+           asi == ASI_PST32_SL;
+}
 
-    bool AsiIsNoFault(ASI asi)
-    {
-        return
-            (asi == ASI_PNF) ||
-            (asi == ASI_SNF) ||
-            (asi == ASI_PNFL) ||
-            (asi == ASI_SNFL);
-    }
+bool
+asiIsFloatingLoad(ASI asi)
+{
+    return asi == ASI_FL8_P ||
+           asi == ASI_FL8_S ||
+           asi == ASI_FL16_P ||
+           asi == ASI_FL16_S ||
+           asi == ASI_FL8_PL ||
+           asi == ASI_FL8_SL ||
+           asi == ASI_FL16_PL ||
+           asi == ASI_FL16_SL;
+}
 
-    bool AsiIsScratchPad(ASI asi)
-    {
-        return
-            (asi == ASI_SCRATCHPAD) ||
-            (asi == ASI_HYP_SCRATCHPAD);
-    }
+bool
+asiIsNoFault(ASI asi)
+{
+    return asi == ASI_PNF ||
+           asi == ASI_SNF ||
+           asi == ASI_PNFL ||
+           asi == ASI_SNFL;
+}
 
-    bool AsiIsCmt(ASI asi)
-    {
-        return
-            (asi == ASI_CMT_PER_STRAND);
-    }
+bool
+asiIsScratchPad(ASI asi)
+{
+    return asi == ASI_SCRATCHPAD ||
+           asi == ASI_HYP_SCRATCHPAD;
+}
 
-    bool AsiIsQueue(ASI asi)
-    {
-        return asi == ASI_QUEUE;
-    }
+bool
+asiIsCmt(ASI asi)
+{
+    return asi == ASI_CMT_PER_STRAND ||
+           asi == ASI_CMT_SHARED;
+}
 
-    bool AsiIsMmu(ASI asi)
-    {
-        return  asi == ASI_MMU ||
-               (asi >= ASI_DMMU_CTXT_ZERO_TSB_BASE_PS0 &&
-                asi <= ASI_IMMU_CTXT_ZERO_CONFIG) ||
-               (asi >= ASI_DMMU_CTXT_NONZERO_TSB_BASE_PS0 &&
-                asi <= ASI_IMMU_CTXT_NONZERO_CONFIG) ||
-               (asi >= ASI_IMMU &&
-                asi <= ASI_IMMU_TSB_PS1_PTR_REG) ||
-               (asi >= ASI_ITLB_DATA_IN_REG  &&
-                asi <= ASI_TLB_INVALIDATE_ALL);
-    }
+bool
+asiIsQueue(ASI asi)
+{
+    return asi == ASI_QUEUE;
+}
 
-    bool AsiIsUnPriv(ASI asi)
-    {
-        return asi >= 0x80;
-    }
+bool
+asiIsInterrupt(ASI asi)
+{
+    return asi == ASI_SWVR_INTR_RECEIVE  ||
+           asi == ASI_SWVR_UDB_INTR_W  ||
+           asi == ASI_SWVR_UDB_INTR_R ;
+}
 
-    bool AsiIsPriv(ASI asi)
-    {
-        return asi <= 0x2f;
-    }
+bool
+asiIsMmu(ASI asi)
+{
+    return  asi == ASI_MMU ||
+            asi == ASI_LSU_CONTROL_REG  ||
+           (asi >= ASI_DMMU_CTXT_ZERO_TSB_BASE_PS0 &&
+            asi <= ASI_IMMU_CTXT_ZERO_CONFIG) ||
+           (asi >= ASI_DMMU_CTXT_NONZERO_TSB_BASE_PS0 &&
+            asi <= ASI_IMMU_CTXT_NONZERO_CONFIG) ||
+           (asi >= ASI_IMMU &&
+            asi <= ASI_IMMU_TSB_PS1_PTR_REG) ||
+           (asi >= ASI_ITLB_DATA_IN_REG  &&
+            asi <= ASI_TLB_INVALIDATE_ALL);
+}
 
+bool
+asiIsUnPriv(ASI asi)
+{
+    return asi >= 0x80;
+}
 
-    bool AsiIsHPriv(ASI asi)
-    {
-        return asi >= 0x30 && asi <= 0x7f;
-    }
+bool
+asiIsPriv(ASI asi)
+{
+    return asi <= 0x2f;
+}
+
+
+bool
+asiIsHPriv(ASI asi)
+{
+    return asi >= 0x30 && asi <= 0x7f;
+}
 
-    bool AsiIsReg(ASI asi)
-    {
-        return AsiIsMmu(asi) || AsiIsScratchPad(asi);
-    }
+bool
+asiIsReg(ASI asi)
+{
+    return asiIsMmu(asi) || asiIsScratchPad(asi) ||
+           asiIsSparcError(asi) || asiIsInterrupt(asi)
+           || asiIsCmt(asi);
+}
+
+bool
+asiIsSparcError(ASI asi)
+{
+    return asi == ASI_SPARC_ERROR_EN_REG ||
+           asi == ASI_SPARC_ERROR_STATUS_REG;
+}
 
 }