ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_mpu_region_t Struct Reference

Static descriptor for one Armv8-M MPU region. More...

#include <ra8_mpu.h>

Data Fields

uintptr_t base
 Region base address.
uint32_t size
 Region size in bytes (power of two).
ra8_mpu_perm_t priv
 Privileged-mode permission.
ra8_mpu_perm_t unpriv
 Unprivileged-mode permission.
bool executable
 If true, instruction fetch allowed.
ra8_mpu_share_t shareable
 SH[1:0] field.
ra8_mpu_attr_idx_t attr_idx
 MAIR slot index.

Detailed Description

Static descriptor for one Armv8-M MPU region.

The driver translates this into the RBAR + RLAR pair documented in the Cortex-M85 TRM "MPU register summary". base + size defines the inclusive byte range [base, base + size - 1].

Invariant
size is a power of two >= k_ra8_mpu_min_region_size.
(base & (size - 1)) == 0.

Definition at line 130 of file ra8_mpu.h.

Field Documentation

◆ attr_idx

ra8_mpu_attr_idx_t ra8_mpu_region_t::attr_idx

MAIR slot index.

Definition at line 137 of file ra8_mpu.h.

Referenced by internal_build_rlar(), and mpu_boot_test_map().

◆ base

uintptr_t ra8_mpu_region_t::base

Region base address.

Definition at line 131 of file ra8_mpu.h.

Referenced by internal_build_rbar(), internal_build_rlar(), internal_validate_region(), and mpu_boot_test_map().

◆ executable

bool ra8_mpu_region_t::executable

If true, instruction fetch allowed.

Definition at line 135 of file ra8_mpu.h.

Referenced by internal_build_rbar().

◆ priv

ra8_mpu_perm_t ra8_mpu_region_t::priv

Privileged-mode permission.

Definition at line 133 of file ra8_mpu.h.

Referenced by internal_build_rbar(), and internal_validate_region().

◆ shareable

ra8_mpu_share_t ra8_mpu_region_t::shareable

SH[1:0] field.

Definition at line 136 of file ra8_mpu.h.

Referenced by internal_build_rbar().

◆ size

uint32_t ra8_mpu_region_t::size

Region size in bytes (power of two).

Definition at line 132 of file ra8_mpu.h.

Referenced by internal_build_rlar(), internal_validate_region(), and mpu_boot_test_map().

◆ unpriv

ra8_mpu_perm_t ra8_mpu_region_t::unpriv

Unprivileged-mode permission.

Definition at line 134 of file ra8_mpu.h.

Referenced by internal_build_rbar(), and internal_validate_region().


The documentation for this struct was generated from the following file: