![]() |
NMSIS-Core
Version 1.6.0
NMSIS-Core support for Nuclei processor-based devices
|
Functions that configure Instruction Cache. More...
Functions | |
| __STATIC_INLINE int32_t | ICachePresent (void) |
| Check ICache Unit Present or Not. More... | |
| __STATIC_FORCEINLINE void | EnableICache (void) |
| Enable ICache. More... | |
| __STATIC_FORCEINLINE void | DisableICache (void) |
| Disable ICache. More... | |
| __STATIC_FORCEINLINE void | EnableICacheECC (void) |
| Enable ICache ECC. More... | |
| __STATIC_FORCEINLINE void | DisableICacheECC (void) |
| Disable ICache ECC. More... | |
| __STATIC_INLINE int32_t | GetICacheInfo (CacheInfo_Type *info) |
| Get I-Cache Information. More... | |
| __STATIC_INLINE void | MInvalICacheLine (unsigned long addr) |
| Invalidate one I-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MInvalICacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SInvalICacheLine (unsigned long addr) |
| Invalidate one I-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SInvalICacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UInvalICacheLine (unsigned long addr) |
| Invalidate one I-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UInvalICacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MInvalICacheCCacheLine (unsigned long addr) |
| Invalidate one I-Cache and Cluster Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MInvalICacheCCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache and Cluster Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SInvalICacheCCacheLine (unsigned long addr) |
| Invalidate one I-Cache and Cluster Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SInvalICacheCCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache and Cluster Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UInvalICacheCCacheLine (unsigned long addr) |
| Invalidate one I-Cache and Cluster Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UInvalICacheCCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several I-Cache and Cluster Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE unsigned long | MLockICacheLine (unsigned long addr) |
| Lock one I-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE unsigned long | MLockICacheLines (unsigned long addr, unsigned long cnt) |
| Lock several I-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE unsigned long | SLockICacheLine (unsigned long addr) |
| Lock one I-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE unsigned long | SLockICacheLines (unsigned long addr, unsigned long cnt) |
| Lock several I-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE unsigned long | ULockICacheLine (unsigned long addr) |
| Lock one I-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE unsigned long | ULockICacheLines (unsigned long addr, unsigned long cnt) |
| Lock several I-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MUnlockICacheLine (unsigned long addr) |
| Unlock one I-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MUnlockICacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several I-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SUnlockICacheLine (unsigned long addr) |
| Unlock one I-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SUnlockICacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several I-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UUnlockICacheLine (unsigned long addr) |
| Unlock one I-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UUnlockICacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several I-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MInvalICache (void) |
| Invalidate all I-Cache lines in M-Mode. More... | |
| __STATIC_INLINE void | SInvalICache (void) |
| Invalidate all I-Cache lines in S-Mode. More... | |
| __STATIC_INLINE void | UInvalICache (void) |
| Invalidate all I-Cache lines in U-Mode. More... | |
| __STATIC_INLINE void | MInvalCCache (void) |
| Invalidate all Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE void | SInvalCCache (void) |
| Invalidate all Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE void | UInvalCCache (void) |
| Invalidate all Cluster Cache in U-Mode. More... | |
| __STATIC_INLINE void | MInvalICacheCCache (void) |
| Invalidate all I-Cache and Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE void | SInvalICacheCCache (void) |
| Invalidate all I-Cache and Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE void | UInvalICacheCCache (void) |
| Invalidate all I-Cache and Cluster Cache in U-Mode. More... | |
Functions that configure Instruction Cache.
| __STATIC_FORCEINLINE void DisableICache | ( | void | ) |
Disable ICache.
This function Disable I-Cache
Definition at line 577 of file core_feature_cache.h.
References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_IC_EN.
| __STATIC_FORCEINLINE void DisableICacheECC | ( | void | ) |
Disable ICache ECC.
This function disable I-Cache ECC
Definition at line 607 of file core_feature_cache.h.
References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_IC_ECC_EN.
| __STATIC_FORCEINLINE void EnableICache | ( | void | ) |
Enable ICache.
This function enable I-Cache
Definition at line 562 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_IC_EN.
Referenced by _premain_init().
| __STATIC_FORCEINLINE void EnableICacheECC | ( | void | ) |
Enable ICache ECC.
This function enable I-Cache ECC
Definition at line 592 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_IC_ECC_EN.
| __STATIC_INLINE int32_t GetICacheInfo | ( | CacheInfo_Type * | info | ) |
Get I-Cache Information.
This function get I-Cache Information
Definition at line 623 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MICFGINFO_Type::b, CSR_MICFG_INFO, CSR_MICFGINFO_Type::d, CSR_MICFGINFO_Type::lsize, CSR_MICFGINFO_Type::set, and CSR_MICFGINFO_Type::way.
| __STATIC_INLINE int32_t ICachePresent | ( | void | ) |
Check ICache Unit Present or Not.
This function check icache unit present or not via mcfg_info csr
Definition at line 544 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MCFG_INFO, and MCFG_INFO_ICACHE.
Referenced by _premain_init().
| __STATIC_INLINE void MInvalCCache | ( | void | ) |
Invalidate all Cluster Cache in M-Mode.
This function invalidate all Cluster Cache.
Definition at line 1236 of file core_feature_cache.h.
| __STATIC_INLINE void MInvalICache | ( | void | ) |
Invalidate all I-Cache lines in M-Mode.
This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 1189 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void MInvalICacheCCache | ( | void | ) |
Invalidate all I-Cache and Cluster Cache in M-Mode.
This function unlock and invalidate all I-Cache and Cluster Cache. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
Definition at line 1279 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_IC_INVAL_ALL, CSR_CCM_MCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE void MInvalICacheCCacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache and Cluster Cache line specified by address in M-Mode.
This function unlock and invalidate one I-Cache line and corresponding Cluster Cache line specified by the address. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 778 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void MInvalICacheCCacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache and Cluster Cache lines specified by address in M-Mode.
This function unlock and invalidate several I-Cache lines and corresponding Cluster Cache lines specified by the address and line count. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 799 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void MInvalICacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache line specified by address in M-Mode.
This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 651 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
Referenced by __ECLIC_SetVector(), ECC_ICacheDRamErrInject(), ECC_ICacheErrRestore(), ECC_ICacheTRamErrInject(), SMPCC_CCacheDramErrInject(), SMPCC_CCacheErrRestore(), and SMPCC_CCacheTramErrInject().
| __STATIC_INLINE void MInvalICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache lines specified by address in M-Mode.
This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 670 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE unsigned long MLockICacheLine | ( | unsigned long | addr | ) |
Lock one I-Cache line specified by address in M-Mode.
This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be locked |
Definition at line 917 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, CSR_CCM_MDATA, and FlushPipeCCM().
Referenced by ECC_ICacheDRamErrInject(), ECC_ICacheErrRestore(), and ECC_ICacheTRamErrInject().
| __STATIC_INLINE unsigned long MLockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Lock several I-Cache lines specified by address in M-Mode.
This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be locked |
| [in] | cnt | count of cache lines to be locked |
Definition at line 938 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, CSR_CCM_MDATA, and FlushPipeCCM().
| __STATIC_INLINE void MUnlockICacheLine | ( | unsigned long | addr | ) |
Unlock one I-Cache line specified by address in M-Mode.
This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be unlocked |
Definition at line 1066 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void MUnlockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Unlock several I-Cache lines specified by address in M-Mode.
This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_MCOMMAND.
| [in] | addr | start address to be unlocked |
| [in] | cnt | count of cache lines to be unlocked |
Definition at line 1085 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SInvalCCache | ( | void | ) |
Invalidate all Cluster Cache in S-Mode.
This function invalidate all Cluster Cache.
Definition at line 1250 of file core_feature_cache.h.
| __STATIC_INLINE void SInvalICache | ( | void | ) |
Invalidate all I-Cache lines in S-Mode.
This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 1205 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SInvalICacheCCache | ( | void | ) |
Invalidate all I-Cache and Cluster Cache in S-Mode.
This function unlock and invalidate all I-Cache and Cluster Cache. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
Definition at line 1296 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_IC_INVAL_ALL, CSR_CCM_SCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE void SInvalICacheCCacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache and Cluster Cache line specified by address in S-Mode.
This function unlock and invalidate one I-Cache line and corresponding Cluster Cache line specified by the address. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 824 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SInvalICacheCCacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache and Cluster Cache lines specified by address in S-Mode.
This function unlock and invalidate several I-Cache lines and corresponding Cluster Cache lines specified by the address and line count. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 845 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SInvalICacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache line specified by address in S-Mode.
This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 693 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
Referenced by __ECLIC_SetVector_S().
| __STATIC_INLINE void SInvalICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache lines specified by address in S-Mode.
This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 712 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE unsigned long SLockICacheLine | ( | unsigned long | addr | ) |
Lock one I-Cache line specified by address in S-Mode.
This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be locked |
Definition at line 967 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, CSR_CCM_SDATA, and FlushPipeCCM().
| __STATIC_INLINE unsigned long SLockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Lock several I-Cache lines specified by address in S-Mode.
This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be locked |
| [in] | cnt | count of cache lines to be locked |
Definition at line 988 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, CSR_CCM_SDATA, and FlushPipeCCM().
| __STATIC_INLINE void SUnlockICacheLine | ( | unsigned long | addr | ) |
Unlock one I-Cache line specified by address in S-Mode.
This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be unlocked |
Definition at line 1107 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SUnlockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Unlock several I-Cache lines specified by address in S-Mode.
This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_SCOMMAND.
| [in] | addr | start address to be unlocked |
| [in] | cnt | count of cache lines to be unlocked |
Definition at line 1126 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalCCache | ( | void | ) |
Invalidate all Cluster Cache in U-Mode.
This function invalidate all Cluster Cache.
Definition at line 1264 of file core_feature_cache.h.
| __STATIC_INLINE void UInvalICache | ( | void | ) |
Invalidate all I-Cache lines in U-Mode.
This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 1221 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalICacheCCache | ( | void | ) |
Invalidate all I-Cache and Cluster Cache in U-Mode.
This function unlock and invalidate all I-Cache and Cluster Cache. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
Definition at line 1313 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_IC_INVAL_ALL, CSR_CCM_UCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE void UInvalICacheCCacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache and Cluster Cache line specified by address in U-Mode.
This function unlock and invalidate one I-Cache line and corresponding Cluster Cache line specified by the address. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 870 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalICacheCCacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache and Cluster Cache lines specified by address in U-Mode.
This function unlock and invalidate several I-Cache lines and corresponding Cluster Cache lines specified by the address and line count. Commands CCM_IC_INVAL and CCM_DC_INVAL are written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 891 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalICacheLine | ( | unsigned long | addr | ) |
Invalidate one I-Cache line specified by address in U-Mode.
This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be invalidated |
Definition at line 735 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Invalidate several I-Cache lines specified by address in U-Mode.
This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 754 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE unsigned long ULockICacheLine | ( | unsigned long | addr | ) |
Lock one I-Cache line specified by address in U-Mode.
This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be locked |
Definition at line 1017 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, CSR_CCM_UDATA, and FlushPipeCCM().
| __STATIC_INLINE unsigned long ULockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Lock several I-Cache lines specified by address in U-Mode.
This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be locked |
| [in] | cnt | count of cache lines to be locked |
Definition at line 1038 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, CSR_CCM_UDATA, and FlushPipeCCM().
| __STATIC_INLINE void UUnlockICacheLine | ( | unsigned long | addr | ) |
Unlock one I-Cache line specified by address in U-Mode.
This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be unlocked |
Definition at line 1148 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UUnlockICacheLines | ( | unsigned long | addr, |
| unsigned long | cnt | ||
| ) |
Unlock several I-Cache lines specified by address in U-Mode.
This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_UCOMMAND.
| [in] | addr | start address to be unlocked |
| [in] | cnt | count of cache lines to be unlocked |
Definition at line 1167 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().