NMSIS-Core  Version 1.2.0
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  }
263  info->setperway = (1 << csr_ccfg.b.set) << 3;
264  info->ways = (1 + csr_ccfg.b.way);
265  if (csr_ccfg.b.lsize == 0) {
266  info->linesize = 0;
267  } else {
268  info->linesize = (1 << (csr_ccfg.b.lsize - 1)) << 3;
269  }
270  info->size = info->setperway * info->ways * info->linesize;
271  return 0;
272 }

References __RV_CSR_READ, CSR_MICFGINFO_Type::b, CSR_MICFG_INFO, 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 646 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 284 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 301 of file core_feature_cache.h.

302 {
303  if (cnt > 0) {
304  unsigned long i;
306  for (i = 0; i < cnt; i++) {
308  }
309  }
310 }

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 398 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 417 of file core_feature_cache.h.

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

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 535 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 552 of file core_feature_cache.h.

553 {
554  if (cnt > 0) {
555  unsigned long i;
557  for (i = 0; i < cnt; i++) {
559  }
560  }
561 }

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 660 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 322 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 339 of file core_feature_cache.h.

340 {
341  if (cnt > 0) {
342  unsigned long i;
344  for (i = 0; i < cnt; i++) {
346  }
347  }
348 }

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 444 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 463 of file core_feature_cache.h.

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

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 572 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 589 of file core_feature_cache.h.

590 {
591  if (cnt > 0) {
592  unsigned long i;
594  for (i = 0; i < cnt; i++) {
596  }
597  }
598 }

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 674 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 360 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 377 of file core_feature_cache.h.

378 {
379  if (cnt > 0) {
380  unsigned long i;
382  for (i = 0; i < cnt; i++) {
384  }
385  }
386 }

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 490 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 509 of file core_feature_cache.h.

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

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 609 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 626 of file core_feature_cache.h.

627 {
628  if (cnt > 0) {
629  unsigned long i;
631  for (i = 0; i < cnt; i++) {
633  }
634  }
635 }

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:352
CSR_CCM_MBEGINADDR
#define CSR_CCM_MBEGINADDR
Definition: riscv_encoding.h:981
__RV_CSR_CLEAR
#define __RV_CSR_CLEAR(csr, val)
CSR operation Macro for csrc instruction.
Definition: core_feature_base.h:573
CSR_MICFGINFO_Type
Union type to access MICFG_INFO CSR register.
Definition: core_feature_base.h:348
CSR_MCFG_INFO
#define CSR_MCFG_INFO
Definition: riscv_encoding.h:969
__RV_CSR_WRITE
#define __RV_CSR_WRITE(csr, val)
CSR operation Macro for csrw instruction.
Definition: core_feature_base.h:499
CSR_CCM_SDATA
#define CSR_CCM_SDATA
Definition: riscv_encoding.h:987
CSR_CCM_UDATA
#define CSR_CCM_UDATA
Definition: riscv_encoding.h:990
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:983
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:254
CSR_MICFGINFO_Type::set
rv_csr_t set
I-Cache sets per way.
Definition: core_feature_base.h:350
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:351
CSR_MCACHE_CTL
#define CSR_MCACHE_CTL
Definition: riscv_encoding.h:918
CSR_CCM_SBEGINADDR
#define CSR_CCM_SBEGINADDR
Definition: riscv_encoding.h:985
CSR_MICFG_INFO
#define CSR_MICFG_INFO
Definition: riscv_encoding.h:967
__RV_CSR_READ
#define __RV_CSR_READ(csr)
CSR operation Macro for csrr instruction.
Definition: core_feature_base.h:481
CSR_CCM_SCOMMAND
#define CSR_CCM_SCOMMAND
Definition: riscv_encoding.h:986
__RV_CSR_SET
#define __RV_CSR_SET(csr, val)
CSR operation Macro for csrs instruction.
Definition: core_feature_base.h:536
MCACHE_CTL_IC_EN
#define MCACHE_CTL_IC_EN
Definition: riscv_encoding.h:228
CSR_CCM_MCOMMAND
#define CSR_CCM_MCOMMAND
Definition: riscv_encoding.h:982
MCACHE_CTL_IC_ECC_EN
#define MCACHE_CTL_IC_ECC_EN
Definition: riscv_encoding.h:230
CSR_CCM_UCOMMAND
#define CSR_CCM_UCOMMAND
Definition: riscv_encoding.h:989
CSR_CCM_UBEGINADDR
#define CSR_CCM_UBEGINADDR
Definition: riscv_encoding.h:988
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