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
11
extern
"C"
{
12
#endif
14
#define NX_ARCH_CACHE_DATA 1U
16
#define NX_ARCH_CACHE_INSTRUCTION 2U
18
typedef
enum
{
19
NX_ARCH_CACHE_OK
= 0,
20
NX_ARCH_CACHE_INVALID
,
21
NX_ARCH_CACHE_CONTEXT
,
22
NX_ARCH_CACHE_UNSUPPORTED
,
23
NX_ARCH_CACHE_STATE
,
24
NX_ARCH_CACHE_IO
25
}
nx_arch_cache_control_result_t
;
26
33
typedef
struct
{
34
uint32_t
owned_mask
;
35
uint32_t
36
saved_selector
;
37
bool
selector_pending
;
38
}
nx_arch_cache_control_t
;
39
61
nx_arch_cache_control_result_t
62
nx_arch_cache_cold_enable
(
nx_arch_cache_control_t
* control, uint32_t mask);
78
nx_arch_cache_control_result_t
79
nx_arch_cache_cold_disable
(
nx_arch_cache_control_t
* control);
80
#ifdef __cplusplus
81
}
82
#endif
83
#endif
/* NEXUS_ARCH_CACHE_CONTROL_H */
nx_arch_cache_cold_enable
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_cold_disable
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
nx_arch_cache_control_result_t
Cold-transition admission or execution result.
Definition
cache_control.h:18
NX_ARCH_CACHE_UNSUPPORTED
@ NX_ARCH_CACHE_UNSUPPORTED
Definition
cache_control.h:22
NX_ARCH_CACHE_CONTEXT
@ NX_ARCH_CACHE_CONTEXT
Definition
cache_control.h:21
NX_ARCH_CACHE_STATE
@ NX_ARCH_CACHE_STATE
Definition
cache_control.h:23
NX_ARCH_CACHE_INVALID
@ NX_ARCH_CACHE_INVALID
Definition
cache_control.h:20
NX_ARCH_CACHE_OK
@ NX_ARCH_CACHE_OK
Definition
cache_control.h:19
NX_ARCH_CACHE_IO
@ NX_ARCH_CACHE_IO
Definition
cache_control.h:24
nx_arch_cache_control_t
Caller-owned cache responsibility and selector recovery.
Definition
cache_control.h:33
nx_arch_cache_control_t::saved_selector
uint32_t saved_selector
Definition
cache_control.h:36
nx_arch_cache_control_t::owned_mask
uint32_t owned_mask
Definition
cache_control.h:34
nx_arch_cache_control_t::selector_pending
bool selector_pending
Definition
cache_control.h:37
arch
include
nexus
arch
cache_control.h
Generated by
1.14.0