|
Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
|
CPU-local mask, context, ordering and cycle snapshot contract. More...
#include <stdbool.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | nx_arch_irq_state_t |
| Saved incoming PRIMASK or calling-thread Native nesting. More... | |
| struct | nx_arch_irq_masks_t |
| Read-only snapshot of implemented local interrupt masks. More... | |
Functions | |
| nx_arch_irq_state_t | nx_arch_irq_save (void) |
| Save incoming local mask and mask configurable exceptions. | |
| void | nx_arch_irq_restore (nx_arch_irq_state_t previous) |
| Restore the incoming mask, preserving nested exclusions. | |
| nx_arch_irq_masks_t | nx_arch_irq_masks (void) |
| Snapshot the implemented local interrupt-mask registers. | |
| bool | nx_arch_irq_is_masked (void) |
| Test masks that could prevent required completion progress. | |
| uint32_t | nx_arch_exception_number (void) |
| Query the exact current CPU exception identity. | |
| bool | nx_arch_is_privileged (void) |
| Query privilege in the current CPU execution context. | |
| bool | nx_arch_in_isr (void) |
| Query current CPU exception context. | |
| void | nx_arch_dmb (void) |
| Order explicit data memory accesses in the CPU domain. | |
| void | nx_arch_dsb (void) |
| Complete preceding explicit memory accesses. | |
| void | nx_arch_isb (void) |
| Synchronize subsequent CPU instruction execution. | |
| bool | nx_arch_cycle_snapshot (uint32_t *cycles) |
| Snapshot an already enabled free-running cycle counter. | |
CPU-local mask, context, ordering and cycle snapshot contract.
Definition in file arch.h.
| bool nx_arch_cycle_snapshot | ( | uint32_t * | cycles | ) |
Snapshot an already enabled free-running cycle counter.
| [out] | cycles | DWT CYCCNT snapshot, unchanged when unavailable. |
| void nx_arch_dmb | ( | void | ) |
Order explicit data memory accesses in the CPU domain.
| void nx_arch_dsb | ( | void | ) |
Complete preceding explicit memory accesses.
| uint32_t nx_arch_exception_number | ( | void | ) |
Query the exact current CPU exception identity.
| bool nx_arch_in_isr | ( | void | ) |
Query current CPU exception context.
| bool nx_arch_irq_is_masked | ( | void | ) |
Test masks that could prevent required completion progress.
| nx_arch_irq_masks_t nx_arch_irq_masks | ( | void | ) |
Snapshot the implemented local interrupt-mask registers.
| void nx_arch_irq_restore | ( | nx_arch_irq_state_t | previous | ) |
Restore the incoming mask, preserving nested exclusions.
| [in] | previous | Token from this CPU/thread's latest unmatched save. |
| nx_arch_irq_state_t nx_arch_irq_save | ( | void | ) |
Save incoming local mask and mask configurable exceptions.
| bool nx_arch_is_privileged | ( | void | ) |
Query privilege in the current CPU execution context.
| void nx_arch_isb | ( | void | ) |
Synchronize subsequent CPU instruction execution.