Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
cache_control.h
Go to the documentation of this file.
1
6#ifndef NEXUS_ARCH_CACHE_CONTROL_H
7#define NEXUS_ARCH_CACHE_CONTROL_H
8#include <stdbool.h>
9#include <stdint.h>
10#ifdef __cplusplus
11extern "C" {
12#endif
14#define NX_ARCH_CACHE_DATA 1U
16#define NX_ARCH_CACHE_INSTRUCTION 2U
26
33typedef struct {
34 uint32_t owned_mask;
35 uint32_t
39
80#ifdef __cplusplus
81}
82#endif
83#endif /* NEXUS_ARCH_CACHE_CONTROL_H */
nx_arch_cache_control_result_t nx_arch_cache_cold_enable(nx_arch_cache_control_t *control, uint32_t mask)
Admit cold caches and enable the explicitly selected ones.
nx_arch_cache_control_result_t nx_arch_cache_cold_disable(nx_arch_cache_control_t *control)
Clean and disable caches owned by this control object.
nx_arch_cache_control_result_t
Cold-transition admission or execution result.
@ NX_ARCH_CACHE_UNSUPPORTED
@ NX_ARCH_CACHE_CONTEXT
@ NX_ARCH_CACHE_STATE
@ NX_ARCH_CACHE_INVALID
@ NX_ARCH_CACHE_OK
@ NX_ARCH_CACHE_IO
Caller-owned cache responsibility and selector recovery.