NMSIS-Core  Version 1.3.1
NMSIS-Core support for Nuclei processor-based devices
I-Cache Functions

Functions that configure Instruction Cache. More...

Functions

__STATIC_FORCEINLINE int32_t ICachePresent (void)
 Check ICache Unit Present or Not. More...
 
__STATIC_FORCEINLINE void EnableICache (void)
 Enable ICache. More...
 
__STATIC_FORCEINLINE void DisableICache (void)
 Disable ICache. More...
 
__STATIC_FORCEINLINE void EnableICacheECC (void)
 Enable ICache ECC. More...
 
__STATIC_FORCEINLINE void DisableICacheECC (void)
 Disable ICache ECC. More...
 
__STATIC_FORCEINLINE int32_t GetICacheInfo (CacheInfo_Type *info)
 Get I-Cache Information. More...
 
__STATIC_FORCEINLINE void MInvalICacheLine (unsigned long addr)
 Invalidate one I-Cache line specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE void MInvalICacheLines (unsigned long addr, unsigned long cnt)
 Invalidate several I-Cache lines specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE void SInvalICacheLine (unsigned long addr)
 Invalidate one I-Cache line specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE void SInvalICacheLines (unsigned long addr, unsigned long cnt)
 Invalidate several I-Cache lines specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE void UInvalICacheLine (unsigned long addr)
 Invalidate one I-Cache line specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE void UInvalICacheLines (unsigned long addr, unsigned long cnt)
 Invalidate several I-Cache lines specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE unsigned long MLockICacheLine (unsigned long addr)
 Lock one I-Cache line specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE unsigned long MLockICacheLines (unsigned long addr, unsigned long cnt)
 Lock several I-Cache lines specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE unsigned long SLockICacheLine (unsigned long addr)
 Lock one I-Cache line specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE unsigned long SLockICacheLines (unsigned long addr, unsigned long cnt)
 Lock several I-Cache lines specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE unsigned long ULockICacheLine (unsigned long addr)
 Lock one I-Cache line specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE unsigned long ULockICacheLines (unsigned long addr, unsigned long cnt)
 Lock several I-Cache lines specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE void MUnlockICacheLine (unsigned long addr)
 Unlock one I-Cache line specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE void MUnlockICacheLines (unsigned long addr, unsigned long cnt)
 Unlock several I-Cache lines specified by address in M-Mode. More...
 
__STATIC_FORCEINLINE void SUnlockICacheLine (unsigned long addr)
 Unlock one I-Cache line specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE void SUnlockICacheLines (unsigned long addr, unsigned long cnt)
 Unlock several I-Cache lines specified by address in S-Mode. More...
 
__STATIC_FORCEINLINE void UUnlockICacheLine (unsigned long addr)
 Unlock one I-Cache line specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE void UUnlockICacheLines (unsigned long addr, unsigned long cnt)
 Unlock several I-Cache lines specified by address in U-Mode. More...
 
__STATIC_FORCEINLINE void MInvalICache (void)
 Invalidate all I-Cache lines in M-Mode. More...
 
__STATIC_FORCEINLINE void SInvalICache (void)
 Invalidate all I-Cache lines in S-Mode. More...
 
__STATIC_FORCEINLINE void UInvalICache (void)
 Invalidate all I-Cache lines in U-Mode. More...
 

Detailed Description

Functions that configure Instruction Cache.

Function Documentation

◆ DisableICache()

__STATIC_FORCEINLINE void DisableICache ( void  )

Disable ICache.

This function Disable I-Cache

Remarks
  • This function can be called in M-Mode only.
  • This CSR_MCACHE_CTL register control I Cache enable.
See also

Definition at line 211 of file core_feature_cache.h.

References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_IC_EN.

◆ DisableICacheECC()

__STATIC_FORCEINLINE void DisableICacheECC ( void  )

Disable ICache ECC.

This function disable I-Cache ECC

Remarks
  • This function can be called in M-Mode only.
  • This CSR_MCACHE_CTL register control I Cache ECC enable.
See also

Definition at line 241 of file core_feature_cache.h.

References __RV_CSR_CLEAR, CSR_MCACHE_CTL, and MCACHE_CTL_IC_ECC_EN.

◆ EnableICache()

__STATIC_FORCEINLINE void EnableICache ( void  )

Enable ICache.

This function enable I-Cache

Remarks
  • This function can be called in M-Mode only.
  • This CSR_MCACHE_CTL register control I Cache enable.
See also

Definition at line 196 of file core_feature_cache.h.

References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_IC_EN.

◆ EnableICacheECC()

__STATIC_FORCEINLINE void EnableICacheECC ( void  )

Enable ICache ECC.

This function enable I-Cache ECC

Remarks
  • This function can be called in M-Mode only.
  • This CSR_MCACHE_CTL register control I Cache ECC enable.
See also

Definition at line 226 of file core_feature_cache.h.

References __RV_CSR_SET, CSR_MCACHE_CTL, and MCACHE_CTL_IC_ECC_EN.

◆ GetICacheInfo()

__STATIC_FORCEINLINE int32_t GetICacheInfo ( CacheInfo_Type *  info)

Get I-Cache Information.

This function get I-Cache Information

Remarks
  • This function can be called in M-Mode only.
  • You can use this function in combination with cache lines operations
See also

Definition at line 257 of file core_feature_cache.h.

258 {
259  if (info == NULL) {
260  return -1;
261  }
262  CSR_MICFGINFO_Type csr_ccfg;
263  csr_ccfg.d = __RV_CSR_READ(CSR_MICFG_INFO);
264  info->setperway = (1 << csr_ccfg.b.set) << 3;
265  info->ways = (1 + csr_ccfg.b.way);
266  if (csr_ccfg.b.lsize == 0) {
267  info->linesize = 0;
268  } else {
269  info->linesize = (1 << (csr_ccfg.b.lsize - 1)) << 3;
270  }
271  info->size = info->setperway * info->ways * info->linesize;
272  return 0;
273 }

References __RV_CSR_READ, CSR_MICFGINFO_Type::b, CSR_MICFG_INFO, CSR_MICFGINFO_Type::d, CSR_MICFGINFO_Type::lsize, CSR_MICFGINFO_Type::set, and CSR_MICFGINFO_Type::way.

◆ ICachePresent()

__STATIC_FORCEINLINE int32_t ICachePresent ( void  )

Check ICache Unit Present or Not.

This function check icache unit present or not via mcfg_info csr

Remarks
  • This function might not work for some old nuclei processors
  • Please make sure the version of your nuclei processor contain ICACHE bit in mcfg_info
Returns
1 if present otherwise 0

Definition at line 178 of file core_feature_cache.h.

179 {
181  return 1;
182  }
183  return 0;
184 }

References __RV_CSR_READ, CSR_MCFG_INFO, and MCFG_INFO_ICACHE.

◆ MInvalICache()

__STATIC_FORCEINLINE void MInvalICache ( void  )

Invalidate all I-Cache lines in M-Mode.

This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 647 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL_ALL, and CSR_CCM_MCOMMAND.

◆ MInvalICacheLine()

__STATIC_FORCEINLINE void MInvalICacheLine ( unsigned long  addr)

Invalidate one I-Cache line specified by address in M-Mode.

This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 285 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.

Referenced by __ECLIC_SetVector().

◆ MInvalICacheLines()

__STATIC_FORCEINLINE void MInvalICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Invalidate several I-Cache lines specified by address in M-Mode.

This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be invalidated
[in]cntcount of cache lines to be invalidated

Definition at line 302 of file core_feature_cache.h.

303 {
304  if (cnt > 0) {
305  unsigned long i;
307  for (i = 0; i < cnt; i++) {
309  }
310  }
311 }

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.

◆ MLockICacheLine()

__STATIC_FORCEINLINE unsigned long MLockICacheLine ( unsigned long  addr)

Lock one I-Cache line specified by address in M-Mode.

This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 399 of file core_feature_cache.h.

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and CSR_CCM_MDATA.

◆ MLockICacheLines()

__STATIC_FORCEINLINE unsigned long MLockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Lock several I-Cache lines specified by address in M-Mode.

This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be locked
[in]cntcount of cache lines to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 418 of file core_feature_cache.h.

419 {
420  if (cnt > 0) {
421  unsigned long i;
422  unsigned long fail_info = CCM_OP_SUCCESS;
424  for (i = 0; i < cnt; i++) {
426  fail_info = __RV_CSR_READ(CSR_CCM_MDATA);
427  if (CCM_OP_SUCCESS != fail_info) {
428  return fail_info;
429  }
430  }
431  }
432  return CCM_OP_SUCCESS;
433 }

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_MBEGINADDR, CSR_CCM_MCOMMAND, and CSR_CCM_MDATA.

◆ MUnlockICacheLine()

__STATIC_FORCEINLINE void MUnlockICacheLine ( unsigned long  addr)

Unlock one I-Cache line specified by address in M-Mode.

This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be unlocked

Definition at line 536 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.

◆ MUnlockICacheLines()

__STATIC_FORCEINLINE void MUnlockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Unlock several I-Cache lines specified by address in M-Mode.

This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_MCOMMAND.

Remarks
This function must be executed in M-Mode only.
Parameters
[in]addrstart address to be unlocked
[in]cntcount of cache lines to be unlocked

Definition at line 553 of file core_feature_cache.h.

554 {
555  if (cnt > 0) {
556  unsigned long i;
558  for (i = 0; i < cnt; i++) {
560  }
561  }
562 }

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_MBEGINADDR, and CSR_CCM_MCOMMAND.

◆ SInvalICache()

__STATIC_FORCEINLINE void SInvalICache ( void  )

Invalidate all I-Cache lines in S-Mode.

This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 661 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL_ALL, and CSR_CCM_SCOMMAND.

◆ SInvalICacheLine()

__STATIC_FORCEINLINE void SInvalICacheLine ( unsigned long  addr)

Invalidate one I-Cache line specified by address in S-Mode.

This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 323 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.

Referenced by __ECLIC_SetVector_S().

◆ SInvalICacheLines()

__STATIC_FORCEINLINE void SInvalICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Invalidate several I-Cache lines specified by address in S-Mode.

This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be invalidated
[in]cntcount of cache lines to be invalidated

Definition at line 340 of file core_feature_cache.h.

341 {
342  if (cnt > 0) {
343  unsigned long i;
345  for (i = 0; i < cnt; i++) {
347  }
348  }
349 }

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.

◆ SLockICacheLine()

__STATIC_FORCEINLINE unsigned long SLockICacheLine ( unsigned long  addr)

Lock one I-Cache line specified by address in S-Mode.

This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 445 of file core_feature_cache.h.

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and CSR_CCM_SDATA.

◆ SLockICacheLines()

__STATIC_FORCEINLINE unsigned long SLockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Lock several I-Cache lines specified by address in S-Mode.

This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be locked
[in]cntcount of cache lines to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 464 of file core_feature_cache.h.

465 {
466  if (cnt > 0) {
467  unsigned long i;
468  unsigned long fail_info = CCM_OP_SUCCESS;
470  for (i = 0; i < cnt; i++) {
472  fail_info = __RV_CSR_READ(CSR_CCM_SDATA);
473  if (CCM_OP_SUCCESS != fail_info) {
474  return fail_info;
475  }
476  }
477  }
478  return CCM_OP_SUCCESS;
479 }

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_SBEGINADDR, CSR_CCM_SCOMMAND, and CSR_CCM_SDATA.

◆ SUnlockICacheLine()

__STATIC_FORCEINLINE void SUnlockICacheLine ( unsigned long  addr)

Unlock one I-Cache line specified by address in S-Mode.

This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be unlocked

Definition at line 573 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.

◆ SUnlockICacheLines()

__STATIC_FORCEINLINE void SUnlockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Unlock several I-Cache lines specified by address in S-Mode.

This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_SCOMMAND.

Remarks
This function must be executed in M/S-Mode only.
Parameters
[in]addrstart address to be unlocked
[in]cntcount of cache lines to be unlocked

Definition at line 590 of file core_feature_cache.h.

591 {
592  if (cnt > 0) {
593  unsigned long i;
595  for (i = 0; i < cnt; i++) {
597  }
598  }
599 }

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_SBEGINADDR, and CSR_CCM_SCOMMAND.

◆ UInvalICache()

__STATIC_FORCEINLINE void UInvalICache ( void  )

Invalidate all I-Cache lines in U-Mode.

This function invalidate all I-Cache lines. Command CCM_IC_INVAL_ALL is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 675 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL_ALL, and CSR_CCM_UCOMMAND.

◆ UInvalICacheLine()

__STATIC_FORCEINLINE void UInvalICacheLine ( unsigned long  addr)

Invalidate one I-Cache line specified by address in U-Mode.

This function unlock and invalidate one I-Cache line specified by the address. Command CCM_IC_INVAL is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be invalidated

Definition at line 361 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.

◆ UInvalICacheLines()

__STATIC_FORCEINLINE void UInvalICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Invalidate several I-Cache lines specified by address in U-Mode.

This function unlock and invalidate several I-Cache lines specified by the address and line count. Command CCM_IC_INVAL is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be invalidated
[in]cntcount of cache lines to be invalidated

Definition at line 378 of file core_feature_cache.h.

379 {
380  if (cnt > 0) {
381  unsigned long i;
383  for (i = 0; i < cnt; i++) {
385  }
386  }
387 }

References __RV_CSR_WRITE, CCM_IC_INVAL, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.

◆ ULockICacheLine()

__STATIC_FORCEINLINE unsigned long ULockICacheLine ( unsigned long  addr)

Lock one I-Cache line specified by address in U-Mode.

This function lock one I-Cache line specified by the address. Command CCM_IC_LOCK is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 491 of file core_feature_cache.h.

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and CSR_CCM_UDATA.

◆ ULockICacheLines()

__STATIC_FORCEINLINE unsigned long ULockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Lock several I-Cache lines specified by address in U-Mode.

This function lock several I-Cache lines specified by the address and line count. Command CCM_IC_LOCK is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be locked
[in]cntcount of cache lines to be locked
Returns
result of CCM lock operation, see enum CCM_OP_FINFO

Definition at line 510 of file core_feature_cache.h.

511 {
512  if (cnt > 0) {
513  unsigned long i;
514  unsigned long fail_info = CCM_OP_SUCCESS;
516  for (i = 0; i < cnt; i++) {
518  fail_info = __RV_CSR_READ(CSR_CCM_UDATA);
519  if (CCM_OP_SUCCESS != fail_info) {
520  return fail_info;
521  }
522  }
523  }
524  return CCM_OP_SUCCESS;
525 }

References __RV_CSR_READ, __RV_CSR_WRITE, CCM_IC_LOCK, CCM_OP_SUCCESS, CSR_CCM_UBEGINADDR, CSR_CCM_UCOMMAND, and CSR_CCM_UDATA.

◆ UUnlockICacheLine()

__STATIC_FORCEINLINE void UUnlockICacheLine ( unsigned long  addr)

Unlock one I-Cache line specified by address in U-Mode.

This function unlock one I-Cache line specified by the address. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be unlocked

Definition at line 610 of file core_feature_cache.h.

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.

◆ UUnlockICacheLines()

__STATIC_FORCEINLINE void UUnlockICacheLines ( unsigned long  addr,
unsigned long  cnt 
)

Unlock several I-Cache lines specified by address in U-Mode.

This function unlock several I-Cache lines specified by the address and line count. Command CCM_IC_UNLOCK is written to CSR CSR_CCM_UCOMMAND.

Remarks
This function must be executed in M/S/U-Mode only.
Parameters
[in]addrstart address to be unlocked
[in]cntcount of cache lines to be unlocked

Definition at line 627 of file core_feature_cache.h.

628 {
629  if (cnt > 0) {
630  unsigned long i;
632  for (i = 0; i < cnt; i++) {
634  }
635  }
636 }

References __RV_CSR_WRITE, CCM_IC_UNLOCK, CSR_CCM_UBEGINADDR, and CSR_CCM_UCOMMAND.

CCM_IC_INVAL_ALL
@ CCM_IC_INVAL_ALL
Unlock and invalidate all the I-Cache lines.
Definition: core_feature_cache.h:93
CSR_MICFGINFO_Type::lsize
rv_csr_t lsize
I-Cache line size.
Definition: core_feature_base.h:371
CSR_CCM_MBEGINADDR
#define CSR_CCM_MBEGINADDR
Definition: riscv_encoding.h:1043
__RV_CSR_CLEAR
#define __RV_CSR_CLEAR(csr, val)
CSR operation Macro for csrc instruction.
Definition: core_feature_base.h:606
CSR_MICFGINFO_Type
Union type to access MICFG_INFO CSR register.
Definition: core_feature_base.h:367
CSR_MICFGINFO_Type::d
rv_csr_t d
Type used for csr data access.
Definition: core_feature_base.h:378
CSR_MCFG_INFO
#define CSR_MCFG_INFO
Definition: riscv_encoding.h:1026
__RV_CSR_WRITE
#define __RV_CSR_WRITE(csr, val)
CSR operation Macro for csrw instruction.
Definition: core_feature_base.h:532
CSR_CCM_SDATA
#define CSR_CCM_SDATA
Definition: riscv_encoding.h:1049
CSR_CCM_UDATA
#define CSR_CCM_UDATA
Definition: riscv_encoding.h:1052
CCM_OP_SUCCESS
@ CCM_OP_SUCCESS
Lock Succeed.
Definition: core_feature_cache.h:71
CSR_CCM_MDATA
#define CSR_CCM_MDATA
Definition: riscv_encoding.h:1045
CCM_IC_INVAL
@ CCM_IC_INVAL
Unlock and invalidate I-Cache line specified by CSR CCM_XBEGINADDR.
Definition: core_feature_cache.h:90
MCFG_INFO_ICACHE
#define MCFG_INFO_ICACHE
Definition: riscv_encoding.h:272
CSR_MICFGINFO_Type::set
rv_csr_t set
I-Cache sets per way.
Definition: core_feature_base.h:369
CSR_MICFGINFO_Type::b
struct CSR_MICFGINFO_Type::@13 b
Structure used for bit access.
CSR_MICFGINFO_Type::way
rv_csr_t way
I-Cache way.
Definition: core_feature_base.h:370
CSR_MCACHE_CTL
#define CSR_MCACHE_CTL
Definition: riscv_encoding.h:948
CSR_CCM_SBEGINADDR
#define CSR_CCM_SBEGINADDR
Definition: riscv_encoding.h:1047
CSR_MICFG_INFO
#define CSR_MICFG_INFO
Definition: riscv_encoding.h:1024
__RV_CSR_READ
#define __RV_CSR_READ(csr)
CSR operation Macro for csrr instruction.
Definition: core_feature_base.h:514
CSR_CCM_SCOMMAND
#define CSR_CCM_SCOMMAND
Definition: riscv_encoding.h:1048
__RV_CSR_SET
#define __RV_CSR_SET(csr, val)
CSR operation Macro for csrs instruction.
Definition: core_feature_base.h:569
MCACHE_CTL_IC_EN
#define MCACHE_CTL_IC_EN
Definition: riscv_encoding.h:240
CSR_CCM_MCOMMAND
#define CSR_CCM_MCOMMAND
Definition: riscv_encoding.h:1044
MCACHE_CTL_IC_ECC_EN
#define MCACHE_CTL_IC_ECC_EN
Definition: riscv_encoding.h:242
CSR_CCM_UCOMMAND
#define CSR_CCM_UCOMMAND
Definition: riscv_encoding.h:1051
CSR_CCM_UBEGINADDR
#define CSR_CCM_UBEGINADDR
Definition: riscv_encoding.h:1050
CCM_IC_UNLOCK
@ CCM_IC_UNLOCK
Unlock the specific I-Cache line specified by CSR CCM_XBEGINADDR.
Definition: core_feature_cache.h:92
CCM_IC_LOCK
@ CCM_IC_LOCK
Lock the specific I-Cache line specified by CSR CCM_XBEGINADDR.
Definition: core_feature_cache.h:91