X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Farch%2Fsparc%2Fasi.cc;h=73b8c16f65b1b6d2b480c5607a676d5134903780;hb=502ad1e6757116867e0e0529c0c080320a2b440b;hp=d8cd84af5bb80c2233a137d005e39fdfe59be765;hpb=36f43ff6a5618154f6388650cc2a8526efdd7b30;p=gem5.git diff --git a/src/arch/sparc/asi.cc b/src/arch/sparc/asi.cc index d8cd84af5..73b8c16f6 100644 --- a/src/arch/sparc/asi.cc +++ b/src/arch/sparc/asi.cc @@ -33,275 +33,286 @@ 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 AsiIsNucleus(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) || - (asi == ASI_LTX_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 +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 AsiIsTwin(ASI asi) - { - return - (asi >= ASI_LDTX_AIUP && +bool +asiIsTwin(ASI asi) +{ + return (asi >= ASI_LDTX_AIUP && asi <= ASI_LDTX_N && asi != ASI_QUEUE) || - (asi >= ASI_LDTX_AIUP_L && + (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; - } + asi == ASI_LDTX_P || + asi == ASI_LDTX_S || + asi == ASI_LDTX_PL || + asi == ASI_LDTX_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 +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 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 +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 AsiIsNoFault(ASI asi) - { - return - (asi == ASI_PNF) || - (asi == ASI_SNF) || - (asi == ASI_PNFL) || - (asi == ASI_SNFL); - } +bool +asiIsNoFault(ASI asi) +{ + return asi == ASI_PNF || + asi == ASI_SNF || + asi == ASI_PNFL || + asi == ASI_SNFL; +} - bool AsiIsScratchPad(ASI asi) - { - return - (asi == ASI_SCRATCHPAD) || - (asi == ASI_HYP_SCRATCHPAD); - } +bool +asiIsScratchPad(ASI asi) +{ + return asi == ASI_SCRATCHPAD || + asi == ASI_HYP_SCRATCHPAD; +} - bool AsiIsCmt(ASI asi) - { - return - (asi == ASI_CMT_PER_STRAND); - } +bool +asiIsCmt(ASI asi) +{ + return asi == ASI_CMT_PER_STRAND || + asi == ASI_CMT_SHARED; +} - bool AsiIsQueue(ASI asi) - { - return asi == ASI_QUEUE; - } +bool +asiIsQueue(ASI asi) +{ + return asi == ASI_QUEUE; +} - bool AsiIsInterrupt(ASI asi) - { - return asi == ASI_SWVR_INTR_RECEIVE || - asi == ASI_SWVR_UDB_INTR_W || - asi == ASI_SWVR_UDB_INTR_R ; - } +bool +asiIsInterrupt(ASI asi) +{ + return asi == ASI_SWVR_INTR_RECEIVE || + asi == ASI_SWVR_UDB_INTR_W || + asi == ASI_SWVR_UDB_INTR_R ; +} - 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 +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 +asiIsUnPriv(ASI asi) +{ + return asi >= 0x80; +} - bool AsiIsPriv(ASI asi) - { - return asi <= 0x2f; - } +bool +asiIsPriv(ASI asi) +{ + return asi <= 0x2f; +} - bool AsiIsHPriv(ASI asi) - { - return asi >= 0x30 && asi <= 0x7f; - } +bool +asiIsHPriv(ASI asi) +{ + return asi >= 0x30 && asi <= 0x7f; +} - bool AsiIsReg(ASI asi) - { - return AsiIsMmu(asi) || AsiIsScratchPad(asi) || - AsiIsSparcError(asi) || AsiIsInterrupt(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; - } +bool +asiIsSparcError(ASI asi) +{ + return asi == ASI_SPARC_ERROR_EN_REG || + asi == ASI_SPARC_ERROR_STATUS_REG; +} }