![]() |
NMSIS-Core
Version 1.4.0
NMSIS-Core support for Nuclei processor-based devices
|
Functions that configure Data Cache. More...
Functions | |
__STATIC_FORCEINLINE int32_t | DCachePresent (void) |
Check DCache Unit Present or Not. More... | |
__STATIC_FORCEINLINE void | EnableDCache (void) |
Enable DCache. More... | |
__STATIC_FORCEINLINE void | DisableDCache (void) |
Disable DCache. More... | |
__STATIC_FORCEINLINE void | EnableDCacheECC (void) |
Enable DCache ECC. More... | |
__STATIC_FORCEINLINE void | DisableDCacheECC (void) |
Disable DCache ECC. More... | |
__STATIC_FORCEINLINE int32_t | GetDCacheInfo (CacheInfo_Type *info) |
Get D-Cache Information. More... | |
__STATIC_FORCEINLINE void | MInvalDCacheLine (unsigned long addr) |
Invalidate one D-Cache line specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | MInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Invalidate several D-Cache lines specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | SInvalDCacheLine (unsigned long addr) |
Invalidate one D-Cache line specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | SInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Invalidate several D-Cache lines specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | UInvalDCacheLine (unsigned long addr) |
Invalidate one D-Cache line specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | UInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Invalidate several D-Cache lines specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushDCacheLine (unsigned long addr) |
Flush one D-Cache line specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushDCacheLines (unsigned long addr, unsigned long cnt) |
Flush several D-Cache lines specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushDCacheLine (unsigned long addr) |
Flush one D-Cache line specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushDCacheLines (unsigned long addr, unsigned long cnt) |
Flush several D-Cache lines specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushDCacheLine (unsigned long addr) |
Flush one D-Cache line specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushDCacheLines (unsigned long addr, unsigned long cnt) |
Flush several D-Cache lines specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushInvalDCacheLine (unsigned long addr) |
Flush and invalidate one D-Cache line specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Flush and invalidate several D-Cache lines specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushInvalDCacheLine (unsigned long addr) |
Flush and invalidate one D-Cache line specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Flush and invalidate several D-Cache lines specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushInvalDCacheLine (unsigned long addr) |
Flush and invalidate one D-Cache line specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
Flush and invalidate several D-Cache lines specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | MLockDCacheLine (unsigned long addr) |
Lock one D-Cache line specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | MLockDCacheLines (unsigned long addr, unsigned long cnt) |
Lock several D-Cache lines specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | SLockDCacheLine (unsigned long addr) |
Lock one D-Cache line specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | SLockDCacheLines (unsigned long addr, unsigned long cnt) |
Lock several D-Cache lines specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | ULockDCacheLine (unsigned long addr) |
Lock one D-Cache line specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE unsigned long | ULockDCacheLines (unsigned long addr, unsigned long cnt) |
Lock several D-Cache lines specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | MUnlockDCacheLine (unsigned long addr) |
Unlock one D-Cache line specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | MUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
Unlock several D-Cache lines specified by address in M-Mode. More... | |
__STATIC_FORCEINLINE void | SUnlockDCacheLine (unsigned long addr) |
Unlock one D-Cache line specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | SUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
Unlock several D-Cache lines specified by address in S-Mode. More... | |
__STATIC_FORCEINLINE void | UUnlockDCacheLine (unsigned long addr) |
Unlock one D-Cache line specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | UUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
Unlock several D-Cache lines specified by address in U-Mode. More... | |
__STATIC_FORCEINLINE void | MInvalDCache (void) |
Invalidate all D-Cache lines in M-Mode. More... | |
__STATIC_FORCEINLINE void | SInvalDCache (void) |
Invalidate all D-Cache lines in S-Mode. More... | |
__STATIC_FORCEINLINE void | UInvalDCache (void) |
Invalidate all D-Cache lines in U-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushDCache (void) |
Flush all D-Cache lines in M-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushDCache (void) |
Flush all D-Cache lines in S-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushDCache (void) |
Flush all D-Cache lines in U-Mode. More... | |
__STATIC_FORCEINLINE void | MFlushInvalDCache (void) |
Flush and invalidate all D-Cache lines in M-Mode. More... | |
__STATIC_FORCEINLINE void | SFlushInvalDCache (void) |
Flush and invalidate all D-Cache lines in S-Mode. More... | |
__STATIC_FORCEINLINE void | UFlushInvalDCache (void) |
Flush and invalidate all D-Cache lines in U-Mode. More... | |
Functions that configure Data Cache.
__STATIC_FORCEINLINE int32_t DCachePresent | ( | void | ) |
Check DCache Unit Present or Not.
This function check dcache unit present or not via mcfg_info csr
Definition at line 742 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MCFG_INFO, and MCFG_INFO_DCACHE.
Referenced by _premain_init().
__STATIC_FORCEINLINE void DisableDCache | ( | void | ) |
Disable DCache.
This function Disable D-Cache
Definition at line 775 of file core_feature_cache.h.
References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_DC_EN.
__STATIC_FORCEINLINE void DisableDCacheECC | ( | void | ) |
Disable DCache ECC.
This function disable D-Cache ECC
Definition at line 805 of file core_feature_cache.h.
References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_DC_ECC_EN.
__STATIC_FORCEINLINE void EnableDCache | ( | void | ) |
Enable DCache.
This function enable D-Cache
Definition at line 760 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_DC_EN.
Referenced by _premain_init().
__STATIC_FORCEINLINE void EnableDCacheECC | ( | void | ) |
Enable DCache ECC.
This function enable D-Cache ECC
Definition at line 790 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_DC_ECC_EN.
__STATIC_FORCEINLINE int32_t GetDCacheInfo | ( | CacheInfo_Type * | info | ) |
Get D-Cache Information.
This function get D-Cache Information
Definition at line 821 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MDCFGINFO_Type::b, CSR_MDCFG_INFO, CSR_MDCFGINFO_Type::d, CacheInfo_Type::linesize, CSR_MDCFGINFO_Type::lsize, CSR_MDCFGINFO_Type::set, CacheInfo_Type::setperway, CacheInfo_Type::size, CSR_MDCFGINFO_Type::way, and CacheInfo_Type::ways.
__STATIC_FORCEINLINE void MFlushDCache | ( | void | ) |
Flush all D-Cache lines in M-Mode.
This function flush all D-Cache lines. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 1543 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MFlushDCacheLine | ( | unsigned long | addr | ) |
Flush one D-Cache line specified by address in M-Mode.
This function flush one D-Cache line specified by the address. Command CCM_DC_WB is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 974 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
Referenced by __ECLIC_SetVector().
__STATIC_FORCEINLINE void MFlushDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush several D-Cache lines specified by address in M-Mode.
This function flush several D-Cache lines specified by the address and line count. Command CCM_DC_WB is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed |
[in] | cnt | count of cache lines to be flushed |
Definition at line 993 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MFlushInvalDCache | ( | void | ) |
Flush and invalidate all D-Cache lines in M-Mode.
This function flush and invalidate all D-Cache lines. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed and locked |
Definition at line 1591 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MFlushInvalDCacheLine | ( | unsigned long | addr | ) |
Flush and invalidate one D-Cache line specified by address in M-Mode.
This function flush and invalidate one D-Cache line specified by the address. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed and invalidated |
Definition at line 1097 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MFlushInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush and invalidate several D-Cache lines specified by address in M-Mode.
This function flush and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be flushed and invalidated |
[in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1116 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MInvalDCache | ( | void | ) |
Invalidate all D-Cache lines in M-Mode.
This function invalidate all D-Cache lines. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 1493 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MInvalDCacheLine | ( | unsigned long | addr | ) |
Invalidate one D-Cache line specified by address in M-Mode.
This function unlock and invalidate one D-Cache line specified by the address. Command CCM_DC_INVAL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 849 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Invalidate several D-Cache lines specified by address in M-Mode.
This function unlock and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_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 868 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long MLockDCacheLine | ( | unsigned long | addr | ) |
Lock one D-Cache line specified by address in M-Mode.
This function lock one D-Cache line specified by the address. Command CCM_DC_LOCK is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be locked |
Definition at line 1221 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, CSR_CCM_MDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long MLockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Lock several D-Cache lines specified by address in M-Mode.
This function lock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1242 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, CSR_CCM_MDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE void MUnlockDCacheLine | ( | unsigned long | addr | ) |
Unlock one D-Cache line specified by address in M-Mode.
This function unlock one D-Cache line specified by the address. Command CCM_DC_UNLOCK is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be unlocked |
Definition at line 1370 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void MUnlockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Unlock several D-Cache lines specified by address in M-Mode.
This function unlock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1389 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SFlushDCache | ( | void | ) |
Flush all D-Cache lines in S-Mode.
This function flush all D-Cache lines. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 1559 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SFlushDCacheLine | ( | unsigned long | addr | ) |
Flush one D-Cache line specified by address in S-Mode.
This function flush one D-Cache line specified by the address. Command CCM_DC_WB is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 1015 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
Referenced by __ECLIC_SetVector_S().
__STATIC_FORCEINLINE void SFlushDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush several D-Cache lines specified by address in S-Mode.
This function flush several D-Cache lines specified by the address and line count. Command CCM_DC_WB is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed |
[in] | cnt | count of cache lines to be flushed |
Definition at line 1034 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SFlushInvalDCache | ( | void | ) |
Flush and invalidate all D-Cache lines in S-Mode.
This function flush and invalidate all D-Cache lines. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed and locked |
Definition at line 1607 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SFlushInvalDCacheLine | ( | unsigned long | addr | ) |
Flush and invalidate one D-Cache line specified by address in S-Mode.
This function flush and invalidate one D-Cache line specified by the address. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed and invalidated |
Definition at line 1138 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SFlushInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush and invalidate several D-Cache lines specified by address in S-Mode.
This function flush and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be flushed and invalidated |
[in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1157 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SInvalDCache | ( | void | ) |
Invalidate all D-Cache lines in S-Mode.
This function invalidate all D-Cache lines. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 1509 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SInvalDCacheLine | ( | unsigned long | addr | ) |
Invalidate one D-Cache line specified by address in S-Mode.
This function unlock and invalidate one D-Cache line specified by the address. Command CCM_DC_INVAL is written to CSR CSR_CCM_MCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 891 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Invalidate several D-Cache lines specified by address in S-Mode.
This function unlock and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_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 910 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long SLockDCacheLine | ( | unsigned long | addr | ) |
Lock one D-Cache line specified by address in S-Mode.
This function lock one D-Cache line specified by the address. Command CCM_DC_LOCK is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be locked |
Definition at line 1271 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, CSR_CCM_SDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long SLockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Lock several D-Cache lines specified by address in S-Mode.
This function lock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1292 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, CSR_CCM_SDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE void SUnlockDCacheLine | ( | unsigned long | addr | ) |
Unlock one D-Cache line specified by address in S-Mode.
This function unlock one D-Cache line specified by the address. Command CCM_DC_UNLOCK is written to CSR CSR_CCM_SCOMMAND.
[in] | addr | start address to be unlocked |
Definition at line 1411 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void SUnlockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Unlock several D-Cache lines specified by address in S-Mode.
This function unlock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1430 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushDCache | ( | void | ) |
Flush all D-Cache lines in U-Mode.
This function flush all D-Cache lines. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 1575 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushDCacheLine | ( | unsigned long | addr | ) |
Flush one D-Cache line specified by address in U-Mode.
This function flush one D-Cache line specified by the address. Command CCM_DC_WB is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed |
Definition at line 1056 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush several D-Cache lines specified by address in U-Mode.
This function flush several D-Cache lines specified by the address and line count. Command CCM_DC_WB is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed |
[in] | cnt | count of cache lines to be flushed |
Definition at line 1075 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushInvalDCache | ( | void | ) |
Flush and invalidate all D-Cache lines in U-Mode.
This function flush and invalidate all D-Cache lines. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed and locked |
Definition at line 1623 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushInvalDCacheLine | ( | unsigned long | addr | ) |
Flush and invalidate one D-Cache line specified by address in U-Mode.
This function flush and invalidate one D-Cache line specified by the address. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed and invalidated |
Definition at line 1179 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UFlushInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Flush and invalidate several D-Cache lines specified by address in U-Mode.
This function flush and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_WBINVAL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be flushed and invalidated |
[in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1198 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UInvalDCache | ( | void | ) |
Invalidate all D-Cache lines in U-Mode.
This function invalidate all D-Cache lines. In U-Mode, this operation will be automatically translated to flush and invalidate operations by hardware. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 1527 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UInvalDCacheLine | ( | unsigned long | addr | ) |
Invalidate one D-Cache line specified by address in U-Mode.
This function unlock and invalidate one D-Cache line specified by the address. Command CCM_DC_INVAL is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be invalidated |
Definition at line 933 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UInvalDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Invalidate several D-Cache lines specified by address in U-Mode.
This function unlock and invalidate several D-Cache lines specified by the address and line count. Command CCM_DC_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 952 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long ULockDCacheLine | ( | unsigned long | addr | ) |
Lock one D-Cache line specified by address in U-Mode.
This function lock one D-Cache line specified by the address. Command CCM_DC_LOCK is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be locked |
Definition at line 1321 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, CSR_CCM_UDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE unsigned long ULockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Lock several D-Cache lines specified by address in U-Mode.
This function lock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1342 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, __RWMB, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, CSR_CCM_UDATA, and FlushPipeCCM().
__STATIC_FORCEINLINE void UUnlockDCacheLine | ( | unsigned long | addr | ) |
Unlock one D-Cache line specified by address in U-Mode.
This function unlock one D-Cache line specified by the address. Command CCM_DC_UNLOCK is written to CSR CSR_CCM_UCOMMAND.
[in] | addr | start address to be unlocked |
Definition at line 1452 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
__STATIC_FORCEINLINE void UUnlockDCacheLines | ( | unsigned long | addr, |
unsigned long | cnt | ||
) |
Unlock several D-Cache lines specified by address in U-Mode.
This function unlock several D-Cache lines specified by the address and line count. Command CCM_DC_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 1471 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().