![]() |
NMSIS-Core
Version 1.5.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 575 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 605 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 560 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 590 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 621 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MICFGINFO_Type::b, CSR_MICFG_INFO, CSR_MICFGINFO_Type::d, CacheInfo_Type::linesize, CSR_MICFGINFO_Type::lsize, CSR_MICFGINFO_Type::set, CacheInfo_Type::setperway, CacheInfo_Type::size, CSR_MICFGINFO_Type::way, and CacheInfo_Type::ways.
| __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 542 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 1234 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 1187 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 1277 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 776 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 797 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 649 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 668 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 915 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 936 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 1064 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 1083 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 1248 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 1203 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 1294 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 822 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 843 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 691 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 710 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 965 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 986 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 1105 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 1124 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 1262 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 1219 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 1311 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 868 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 889 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 733 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 752 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 1015 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 1036 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 1146 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 1165 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_IC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().