NMSIS-Core
Version 1.3.1
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 700 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MCFG_INFO, and MCFG_INFO_DCACHE.
__STATIC_FORCEINLINE void DisableDCache | ( | void | ) |
Disable DCache.
This function Disable D-Cache
Definition at line 733 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 763 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 718 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_DC_EN.
__STATIC_FORCEINLINE void EnableDCacheECC | ( | void | ) |
Enable DCache ECC.
This function enable D-Cache ECC
Definition at line 748 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 779 of file core_feature_cache.h.
References __RV_CSR_READ, CSR_MDCFGINFO_Type::b, CSR_MDCFG_INFO, CSR_MDCFGINFO_Type::d, CSR_MDCFGINFO_Type::lsize, CSR_MDCFGINFO_Type::set, and CSR_MDCFGINFO_Type::way.
__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 1435 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB_ALL, and CSR_CCM_MCOMMAND.
__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 920 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
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 937 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1477 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL_ALL, and CSR_CCM_MCOMMAND.
__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 1031 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1048 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1391 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL_ALL, and CSR_CCM_MCOMMAND.
__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 807 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 824 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1143 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and CSR_CCM_MDATA.
__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 1162 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and CSR_CCM_MDATA.
__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 1280 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1297 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.
__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 1449 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB_ALL, and CSR_CCM_SCOMMAND.
__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 957 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
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 974 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1491 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL_ALL, and CSR_CCM_SCOMMAND.
__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 1068 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1085 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1405 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL_ALL, and CSR_CCM_SCOMMAND.
__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 845 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 862 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1189 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and CSR_CCM_SDATA.
__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 1208 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and CSR_CCM_SDATA.
__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 1317 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1334 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.
__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 1463 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB_ALL, and CSR_CCM_UCOMMAND.
__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 994 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1011 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WB, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1505 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL_ALL, and CSR_CCM_UCOMMAND.
__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 1105 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1122 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1421 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL_ALL, and CSR_CCM_UCOMMAND.
__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 883 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 900 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1235 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and CSR_CCM_UDATA.
__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 1254 of file core_feature_cache.h.
References __RV_CSR_READ, __RV_CSR_WRITE, CCM_DC_LOCK, CCM_OP_SUCCESS, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and CSR_CCM_UDATA.
__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 1354 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.
__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 1371 of file core_feature_cache.h.
References __RV_CSR_WRITE, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.