The Cortex M Cache Controller (CMCC) is a 4-way set associative unified cache controller.
It integrates a controller, a tag directory, data memory, metadata memory and a configuration interface.
Cache Controller Monitor Counter Mode.
Enumerator |
---|
CMCC_CYCLE_COUNT_MODE |
|
CMCC_IHIT_COUNT_MODE |
|
CMCC_DHIT_COUNT_MODE |
|
static void cmcc_disable |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
static void cmcc_disable_monitor |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Disable Cache Controller monitor.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
void cmcc_enable |
( |
Cmcc *const |
p_cmcc | ) |
|
static void cmcc_enable_monitor |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Enable Cache Controller monitor.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
Referenced by cmcc_init().
void cmcc_get_config_defaults |
( |
struct cmcc_config *const |
cfg | ) |
|
Initializes a CMCC configuration structure to defaults.
Initializes a given CMCC configuration structure to a set of known default values. This function should be called on all new instances of these configuration structures before being modified by the user application.
The default configuration is as follows:
- the monitor counter is activated.
- Data hit counter mode.
- Parameters
-
cfg | Configuration structure to initialize to default values. |
References Assert, CMCC_DHIT_COUNT_MODE, cmcc_config::cmcc_mcfg_mode, and cmcc_config::cmcc_monitor_enable.
Referenced by main().
static uint32_t cmcc_get_monitor_cnt |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Get the Cache Controller monitor status.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
- Returns
- the content of the status register.
Referenced by main(), and run_cache_data_hit_test().
static uint32_t cmcc_get_status |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Get the Cache Controller status.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
- Returns
- the content of the status register.
Referenced by cmcc_enable(), and cmcc_invalidate_line().
static void cmcc_invalidate_all |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Cache Controller Invalidate All.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
void cmcc_invalidate_line |
( |
Cmcc *const |
p_cmcc, |
|
|
uint32_t |
cmcc_way, |
|
|
uint32_t |
cmcc_index |
|
) |
| |
static void cmcc_reset_monitor |
( |
Cmcc *const |
p_cmcc | ) |
|
|
inlinestatic |
Reset event counter register.
- Parameters
-
p_cmcc | Pointer to an CMCC instance. |
static void cmcc_set_config |
( |
Cmcc *const |
p_cmcc, |
|
|
struct cmcc_config *const |
cfg |
|
) |
| |
|
inlinestatic |