|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Tiny MMIO / barrier intrinsics shared by the boot files. More...
#include <stdint.h>Go to the source code of this file.
Functions | |
| static uint32_t | ra8_boot_read32 (uintptr_t addr) |
| Volatile 32-bit MMIO read. | |
| static void | ra8_boot_write32 (uintptr_t addr, uint32_t value) |
| Volatile 32-bit MMIO write. | |
| static void | ra8_boot_dsb (void) |
| Data synchronisation barrier (no-op under RA8_OFF_TARGET). | |
| static void | ra8_boot_isb (void) |
| Instruction synchronisation barrier (no-op under RA8_OFF_TARGET). | |
| static void | ra8_boot_disable_irq (void) |
| Mask IRQs / set PRIMASK (no-op under RA8_OFF_TARGET). | |
Tiny MMIO / barrier intrinsics shared by the boot files.
One documented home for the volatile MMIO accessors and CPU barriers that the shared boot translation units (system_init.c, trustzone_init.c) both need, so the helpers are not duplicated and documented per file. All are static inline – each including TU gets its own internal-linkage copy, so there is no shared state.
Definition in file ra8_boot_intrinsics.h.
|
inlinestatic |
Mask IRQs / set PRIMASK (no-op under RA8_OFF_TARGET).
Disables maskable interrupt delivery for the critical boot window.
Definition at line 104 of file ra8_boot_intrinsics.h.
|
inlinestatic |
Data synchronisation barrier (no-op under RA8_OFF_TARGET).
Completes all prior memory accesses before continuing.
Definition at line 70 of file ra8_boot_intrinsics.h.
|
inlinestatic |
Instruction synchronisation barrier (no-op under RA8_OFF_TARGET).
Flushes the pipeline so later instructions see prior context changes.
Definition at line 87 of file ra8_boot_intrinsics.h.
|
inlinestatic |
Volatile 32-bit MMIO read.
Single volatile load; the cast fixes the access width.
| [in] | addr | Absolute MMIO address (must be 4-byte aligned). |
addr. | value | Little-endian word read from addr. |
addr is a mapped, 4-byte-aligned MMIO address. Definition at line 38 of file ra8_boot_intrinsics.h.
|
inlinestatic |
Volatile 32-bit MMIO write.
Single volatile store of value to addr.
| [in] | addr | Absolute MMIO address (must be 4-byte aligned). |
| [in] | value | 32-bit word to store. |
addr is a mapped, 4-byte-aligned MMIO address. addr holds value. Definition at line 55 of file ra8_boot_intrinsics.h.