![]() |
NMSIS-Core
Version 1.5.0
NMSIS-Core support for Nuclei processor-based devices
|
Functions that configure Data Cache. More...
Macros | |
| #define | MInvalDCacheCCacheLine(addr) MInvalDCacheLine(addr) |
| Invalidate one D-Cache and Cluster Cache line specified by address in M-Mode. More... | |
| #define | MInvalDCacheCCacheLines(addr, cnt) MInvalDCacheLines(addr, cnt) |
| Invalidate several D-Cache and Cluster Cache lines specified by address in M-Mode. More... | |
| #define | SInvalDCacheCCacheLine(addr) SInvalDCacheLine(addr) |
| Invalidate one D-Cache and Cluster Cache line specified by address in S-Mode. More... | |
| #define | SInvalDCacheCCacheLines(addr, cnt) SInvalDCacheLines(addr, cnt) |
| Invalidate several D-Cache and Cluster Cache lines specified by address in S-Mode. More... | |
| #define | UInvalDCacheCCacheLine(addr) UInvalDCacheLine(addr) |
| Invalidate one D-Cache and Cluster Cache line specified by address in U-Mode. More... | |
| #define | UInvalDCacheCCacheLines(addr, cnt) UInvalDCacheLines(addr, cnt) |
| Invalidate several D-Cache and Cluster Cache lines specified by address in U-Mode. More... | |
| #define | MFlushDCacheCCacheLine(addr) MFlushDCacheLine(addr) |
| Flush one D-Cache and Cluster Cache line specified by address in M-Mode. More... | |
| #define | MFlushDCacheCCacheLines(addr, cnt) MFlushDCacheLines(addr, cnt) |
| Flush several D-Cache and Cluster Cache lines specified by address in M-Mode. More... | |
| #define | SFlushDCacheCCacheLine(addr) SFlushDCacheLine(addr) |
| Flush one D-Cache and Cluster Cache line specified by address in S-Mode. More... | |
| #define | SFlushDCacheCCacheLines(addr, cnt) SFlushDCacheLines(addr, cnt) |
| Flush several D-Cache and Cluster Cache lines specified by address in S-Mode. More... | |
| #define | UFlushDCacheCCacheLine(addr) UFlushDCacheLine(addr) |
| Flush one D-Cache and Cluster Cache line specified by address in U-Mode. More... | |
| #define | UFlushDCacheCCacheLines(addr, cnt) UFlushDCacheLines(addr, cnt) |
| Flush several D-Cache and Cluster Cache lines specified by address in U-Mode. More... | |
| #define | MFlushInvalDCacheCCacheLine(addr) MFlushInvalDCacheLine(addr) |
| Flush and invalidate one D-Cache and Cluster Cache line specified by address in M-Mode. More... | |
| #define | MFlushInvalDCacheCCacheLines(addr, cnt) MFlushInvalDCacheLines(addr, cnt) |
| Flush and invalidate several D-Cache and Cluster Cache lines specified by address in M-Mode. More... | |
| #define | SFlushInvalDCacheCCacheLine(addr) SFlushInvalDCacheLine(addr) |
| Flush and invalidate one D-Cache and Cluster Cache line specified by address in S-Mode. More... | |
| #define | SFlushInvalDCacheCCacheLines(addr, cnt) SFlushInvalDCacheLines(addr, cnt) |
| Flush and invalidate several D-Cache and Cluster Cache lines specified by address in S-Mode. More... | |
| #define | UFlushInvalDCacheCCacheLine(addr) UFlushInvalDCacheLine(addr) |
| Flush and invalidate one D-Cache and Cluster Cache line specified by address in U-Mode. More... | |
| #define | UFlushInvalDCacheCCacheLines(addr, cnt) UFlushInvalDCacheLines(addr, cnt) |
| Flush and invalidate several D-Cache and Cluster Cache lines specified by address in U-Mode. More... | |
Functions | |
| __STATIC_INLINE 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_INLINE int32_t | GetDCacheInfo (CacheInfo_Type *info) |
| Get D-Cache Information. More... | |
| __STATIC_INLINE void | MInvalDCacheLine (unsigned long addr) |
| Invalidate one D-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several D-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SInvalDCacheLine (unsigned long addr) |
| Invalidate one D-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several D-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UInvalDCacheLine (unsigned long addr) |
| Invalidate one D-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Invalidate several D-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MFlushDCacheLine (unsigned long addr) |
| Flush one D-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MFlushDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush several D-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SFlushDCacheLine (unsigned long addr) |
| Flush one D-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SFlushDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush several D-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UFlushDCacheLine (unsigned long addr) |
| Flush one D-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UFlushDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush several D-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MFlushInvalDCacheLine (unsigned long addr) |
| Flush and invalidate one D-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush and invalidate several D-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SFlushInvalDCacheLine (unsigned long addr) |
| Flush and invalidate one D-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush and invalidate several D-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UFlushInvalDCacheLine (unsigned long addr) |
| Flush and invalidate one D-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UFlushInvalDCacheLines (unsigned long addr, unsigned long cnt) |
| Flush and invalidate several D-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE unsigned long | MLockDCacheLine (unsigned long addr) |
| Lock one D-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE unsigned long | MLockDCacheLines (unsigned long addr, unsigned long cnt) |
| Lock several D-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE unsigned long | SLockDCacheLine (unsigned long addr) |
| Lock one D-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE unsigned long | SLockDCacheLines (unsigned long addr, unsigned long cnt) |
| Lock several D-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE unsigned long | ULockDCacheLine (unsigned long addr) |
| Lock one D-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE unsigned long | ULockDCacheLines (unsigned long addr, unsigned long cnt) |
| Lock several D-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MUnlockDCacheLine (unsigned long addr) |
| Unlock one D-Cache line specified by address in M-Mode. More... | |
| __STATIC_INLINE void | MUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several D-Cache lines specified by address in M-Mode. More... | |
| __STATIC_INLINE void | SUnlockDCacheLine (unsigned long addr) |
| Unlock one D-Cache line specified by address in S-Mode. More... | |
| __STATIC_INLINE void | SUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several D-Cache lines specified by address in S-Mode. More... | |
| __STATIC_INLINE void | UUnlockDCacheLine (unsigned long addr) |
| Unlock one D-Cache line specified by address in U-Mode. More... | |
| __STATIC_INLINE void | UUnlockDCacheLines (unsigned long addr, unsigned long cnt) |
| Unlock several D-Cache lines specified by address in U-Mode. More... | |
| __STATIC_INLINE void | MInvalDCache (void) |
| Invalidate all D-Cache lines in M-Mode. More... | |
| __STATIC_INLINE void | SInvalDCache (void) |
| Invalidate all D-Cache lines in S-Mode. More... | |
| __STATIC_INLINE void | UInvalDCache (void) |
| Invalidate all D-Cache lines in U-Mode. More... | |
| __STATIC_INLINE void | MFlushDCache (void) |
| Flush all D-Cache lines in M-Mode. More... | |
| __STATIC_INLINE void | SFlushDCache (void) |
| Flush all D-Cache lines in S-Mode. More... | |
| __STATIC_INLINE void | UFlushDCache (void) |
| Flush all D-Cache lines in U-Mode. More... | |
| __STATIC_INLINE void | MFlushInvalDCache (void) |
| Flush and invalidate all D-Cache lines in M-Mode. More... | |
| __STATIC_INLINE void | SFlushInvalDCache (void) |
| Flush and invalidate all D-Cache lines in S-Mode. More... | |
| __STATIC_INLINE void | UFlushInvalDCache (void) |
| Flush and invalidate all D-Cache lines in U-Mode. More... | |
| __STATIC_INLINE int32_t | MFlushCCache (void) |
| Flush all Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE int32_t | SFlushCCache (void) |
| Flush all Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE int32_t | UFlushCCache (void) |
| Flush all Cluster Cache in U-Mode. More... | |
| __STATIC_INLINE int32_t | MFlushInvalCCache (void) |
| Flush and invalidate all Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE int32_t | SFlushInvalCCache (void) |
| Flush and invalidate all Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE int32_t | UFlushInvalCCache (void) |
| Flush and invalidate all Cluster Cache in U-Mode. More... | |
| __STATIC_INLINE void | MInvalDCacheCCache (void) |
| Invalidate all D-Cache and Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE void | SInvalDCacheCCache (void) |
| Invalidate all D-Cache and Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE void | UInvalDCacheCCache (void) |
| Invalidate all D-Cache and Cluster Cache in U-Mode. More... | |
| __STATIC_INLINE int32_t | MFlushDCacheCCache (void) |
| Flush all D-Cache and Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE int32_t | SFlushDCacheCCache (void) |
| Flush all D-Cache and Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE int32_t | UFlushDCacheCCache (void) |
| Flush all D-Cache and Cluster Cache in U-Mode. More... | |
| __STATIC_INLINE int32_t | MFlushInvalDCacheCCache (void) |
| Flush and invalidate all D-Cache and Cluster Cache in M-Mode. More... | |
| __STATIC_INLINE int32_t | SFlushInvalDCacheCCache (void) |
| Flush and invalidate all D-Cache and Cluster Cache in S-Mode. More... | |
| __STATIC_INLINE int32_t | UFlushInvalDCacheCCache (void) |
| Flush and invalidate all D-Cache and Cluster Cache in U-Mode. More... | |
Functions that configure Data Cache.
| #define MFlushDCacheCCacheLine | ( | addr | ) | MFlushDCacheLine(addr) |
Flush one D-Cache and Cluster Cache line specified by address in M-Mode.
This macro is an alias for MFlushDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
Definition at line 1882 of file core_feature_cache.h.
| #define MFlushDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | MFlushDCacheLines(addr, cnt) |
Flush several D-Cache and Cluster Cache lines specified by address in M-Mode.
This macro is an alias for MFlushDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
| [in] | cnt | count of cache lines to be flushed |
Definition at line 1893 of file core_feature_cache.h.
| #define MFlushInvalDCacheCCacheLine | ( | addr | ) | MFlushInvalDCacheLine(addr) |
Flush and invalidate one D-Cache and Cluster Cache line specified by address in M-Mode.
This macro is an alias for MFlushInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
Definition at line 1944 of file core_feature_cache.h.
| #define MFlushInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | MFlushInvalDCacheLines(addr, cnt) |
Flush and invalidate several D-Cache and Cluster Cache lines specified by address in M-Mode.
This macro is an alias for MFlushInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
| [in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1955 of file core_feature_cache.h.
| #define MInvalDCacheCCacheLine | ( | addr | ) | MInvalDCacheLine(addr) |
Invalidate one D-Cache and Cluster Cache line specified by address in M-Mode.
This macro is an alias for MInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
Definition at line 1820 of file core_feature_cache.h.
| #define MInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | MInvalDCacheLines(addr, cnt) |
Invalidate several D-Cache and Cluster Cache lines specified by address in M-Mode.
This macro is an alias for MInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 1831 of file core_feature_cache.h.
| #define SFlushDCacheCCacheLine | ( | addr | ) | SFlushDCacheLine(addr) |
Flush one D-Cache and Cluster Cache line specified by address in S-Mode.
This macro is an alias for SFlushDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
Definition at line 1903 of file core_feature_cache.h.
| #define SFlushDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | SFlushDCacheLines(addr, cnt) |
Flush several D-Cache and Cluster Cache lines specified by address in S-Mode.
This macro is an alias for SFlushDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
| [in] | cnt | count of cache lines to be flushed |
Definition at line 1914 of file core_feature_cache.h.
| #define SFlushInvalDCacheCCacheLine | ( | addr | ) | SFlushInvalDCacheLine(addr) |
Flush and invalidate one D-Cache and Cluster Cache line specified by address in S-Mode.
This macro is an alias for SFlushInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
Definition at line 1965 of file core_feature_cache.h.
| #define SFlushInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | SFlushInvalDCacheLines(addr, cnt) |
Flush and invalidate several D-Cache and Cluster Cache lines specified by address in S-Mode.
This macro is an alias for SFlushInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
| [in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1976 of file core_feature_cache.h.
| #define SInvalDCacheCCacheLine | ( | addr | ) | SInvalDCacheLine(addr) |
Invalidate one D-Cache and Cluster Cache line specified by address in S-Mode.
This macro is an alias for SInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
Definition at line 1841 of file core_feature_cache.h.
| #define SInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | SInvalDCacheLines(addr, cnt) |
Invalidate several D-Cache and Cluster Cache lines specified by address in S-Mode.
This macro is an alias for SInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 1852 of file core_feature_cache.h.
| #define UFlushDCacheCCacheLine | ( | addr | ) | UFlushDCacheLine(addr) |
Flush one D-Cache and Cluster Cache line specified by address in U-Mode.
This macro is an alias for UFlushDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
Definition at line 1924 of file core_feature_cache.h.
| #define UFlushDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | UFlushDCacheLines(addr, cnt) |
Flush several D-Cache and Cluster Cache lines specified by address in U-Mode.
This macro is an alias for UFlushDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed |
| [in] | cnt | count of cache lines to be flushed |
Definition at line 1935 of file core_feature_cache.h.
| #define UFlushInvalDCacheCCacheLine | ( | addr | ) | UFlushInvalDCacheLine(addr) |
Flush and invalidate one D-Cache and Cluster Cache line specified by address in U-Mode.
This macro is an alias for UFlushInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
Definition at line 1986 of file core_feature_cache.h.
| #define UFlushInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | UFlushInvalDCacheLines(addr, cnt) |
Flush and invalidate several D-Cache and Cluster Cache lines specified by address in U-Mode.
This macro is an alias for UFlushInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be flushed and invalidated |
| [in] | cnt | count of cache lines to be flushed and invalidated |
Definition at line 1997 of file core_feature_cache.h.
| #define UInvalDCacheCCacheLine | ( | addr | ) | UInvalDCacheLine(addr) |
Invalidate one D-Cache and Cluster Cache line specified by address in U-Mode.
This macro is an alias for UInvalDCacheLine. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
Definition at line 1862 of file core_feature_cache.h.
| #define UInvalDCacheCCacheLines | ( | addr, | |
| cnt | |||
| ) | UInvalDCacheLines(addr, cnt) |
Invalidate several D-Cache and Cluster Cache lines specified by address in U-Mode.
This macro is an alias for UInvalDCacheLines. D-Cache CCM operations are also effective for Cluster Cache.
| [in] | addr | start address to be invalidated |
| [in] | cnt | count of cache lines to be invalidated |
Definition at line 1873 of file core_feature_cache.h.
| __STATIC_INLINE 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 1342 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 1375 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 1405 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 1360 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 1390 of file core_feature_cache.h.
References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_DC_ECC_EN.
| __STATIC_INLINE int32_t GetDCacheInfo | ( | CacheInfo_Type * | info | ) |
Get D-Cache Information.
This function get D-Cache Information
Definition at line 1421 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_INLINE int32_t MFlushCCache | ( | void | ) |
Flush all Cluster Cache in M-Mode.
This function flush all Cluster Cache. Command SMPCC_CMD_WB_ALL is written to SMPCC CMD register.
Definition at line 2429 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 2332 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t MFlushDCacheCCache | ( | void | ) |
Flush all D-Cache and Cluster Cache in M-Mode.
This function flush all D-Cache and Cluster Cache. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_MCOMMAND.
Definition at line 2594 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WB_ALL, CSR_CCM_MCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 1574 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_INLINE 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 1593 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t MFlushInvalCCache | ( | void | ) |
Flush and invalidate all Cluster Cache in M-Mode.
This function flush and invalidate all Cluster Cache. Command SMPCC_CMD_WBINVAL_ALL is written to SMPCC CMD register.
Definition at line 2486 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 2380 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t MFlushInvalDCacheCCache | ( | void | ) |
Flush and invalidate all D-Cache and Cluster Cache in M-Mode.
This function flush and invalidate all D-Cache and Cluster Cache. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
Definition at line 2657 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WBINVAL_ALL, CSR_CCM_MCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 1697 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
Referenced by ECC_DCacheDRamErrInject(), ECC_DCacheErrRestore(), and ECC_DCacheTRamErrInject().
| __STATIC_INLINE 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 1716 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2282 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void MInvalDCacheCCache | ( | void | ) |
Invalidate all D-Cache and Cluster Cache in M-Mode.
This function unlock and invalidate all D-Cache and Cluster Cache. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_MCOMMAND.
Definition at line 2542 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_INVAL_ALL, CSR_CCM_MCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE 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 1449 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1468 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2010 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().
Referenced by ECC_DCacheDRamErrInject(), ECC_DCacheErrRestore(), and ECC_DCacheTRamErrInject().
| __STATIC_INLINE 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 2031 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_INLINE 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 2159 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2178 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t SFlushCCache | ( | void | ) |
Flush all Cluster Cache in S-Mode.
This function flush all Cluster Cache. Command SMPCC_CMD_WB_ALL is written to SMPCC CMD register.
Definition at line 2448 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 2348 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t SFlushDCacheCCache | ( | void | ) |
Flush all D-Cache and Cluster Cache in S-Mode.
This function flush all D-Cache and Cluster Cache. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_SCOMMAND.
Definition at line 2615 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WB_ALL, CSR_CCM_SCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 1615 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_INLINE 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 1634 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t SFlushInvalCCache | ( | void | ) |
Flush and invalidate all Cluster Cache in S-Mode.
This function flush and invalidate all Cluster Cache. Command SMPCC_CMD_WBINVAL_ALL is written to SMPCC CMD register.
Definition at line 2505 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 2396 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t SFlushInvalDCacheCCache | ( | void | ) |
Flush and invalidate all D-Cache and Cluster Cache in S-Mode.
This function flush and invalidate all D-Cache and Cluster Cache. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
Definition at line 2678 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WBINVAL_ALL, CSR_CCM_SCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 1738 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1757 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2298 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void SInvalDCacheCCache | ( | void | ) |
Invalidate all D-Cache and Cluster Cache in S-Mode.
This function unlock and invalidate all D-Cache and Cluster Cache. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_SCOMMAND.
Definition at line 2559 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_INVAL_ALL, CSR_CCM_SCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE 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 1491 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1510 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2060 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_INLINE 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 2081 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_INLINE 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 2200 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2219 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t UFlushCCache | ( | void | ) |
Flush all Cluster Cache in U-Mode.
This function flush all Cluster Cache. Command SMPCC_CMD_WB_ALL is written to SMPCC CMD register.
Definition at line 2467 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 2364 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t UFlushDCacheCCache | ( | void | ) |
Flush all D-Cache and Cluster Cache in U-Mode.
This function flush all D-Cache and Cluster Cache. Command CCM_DC_WB_ALL is written to CSR CSR_CCM_UCOMMAND.
Definition at line 2636 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WB_ALL, CSR_CCM_UCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WB_ALL.
| __STATIC_INLINE 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 1656 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1675 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WB, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t UFlushInvalCCache | ( | void | ) |
Flush and invalidate all Cluster Cache in U-Mode.
This function flush and invalidate all Cluster Cache. Command SMPCC_CMD_WBINVAL_ALL is written to SMPCC CMD register.
Definition at line 2524 of file core_feature_cache.h.
References __RWMB, _FLD2VAL, _VAL2FLD, SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 2412 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE int32_t UFlushInvalDCacheCCache | ( | void | ) |
Flush and invalidate all D-Cache and Cluster Cache in U-Mode.
This function flush and invalidate all D-Cache and Cluster Cache. Command CCM_DC_WBINVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
Definition at line 2699 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_WBINVAL_ALL, CSR_CCM_UCOMMAND, FlushPipeCCM(), SMPCC_CMD, SMPCC_CMD_xCMD_CMD_Msk, and SMPCC_CMD_xCMD_CMD_WBINVAL_ALL.
| __STATIC_INLINE 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 1779 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1798 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_WBINVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2316 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL_ALL, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE void UInvalDCacheCCache | ( | void | ) |
Invalidate all D-Cache and Cluster Cache in U-Mode.
This function unlock and invalidate all D-Cache and Cluster Cache. Command CCM_DC_INVAL_ALL is written to CSR CSR_CCM_UCOMMAND.
Definition at line 2576 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, _FLD2VAL, _VAL2FLD, CCM_DC_INVAL_ALL, CSR_CCM_UCOMMAND, FlushPipeCCM(), and SMPCC_CMD.
| __STATIC_INLINE 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 1533 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 1552 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_INVAL, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2110 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_INLINE 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 2131 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_INLINE 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 2241 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().
| __STATIC_INLINE 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 2260 of file core_feature_cache.h.
References __RV_CSR_WRITE, __RWMB, CCM_DC_UNLOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and FlushPipeCCM().