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

Self-describing RoT header the NS linker embeds in the NS image. More...

#include <ra8_tz_secure_boot.h>

Data Fields

uint32_t magic
 k_ra8_tz_ns_rot_header_magic ("NSR1").
uint32_t body_len
 Signed body length in bytes (trailer at base+len).

Detailed Description

Self-describing RoT header the NS linker embeds in the NS image.

Emitted by the NS linker script at k_ra8_tz_ns_rot_header_offset from the NS base, this fixed 8-byte record lets the Secure verifier learn the signed body length without a hand-encoded absolute trailer address. The signing tool (scripts/secrets/rot_sign.py) appends the ra8_rot_trailer_t immediately after the body_len-byte body, so the trailer begins at ns_base + body_len – the exact [ body ][ trailer ] layout the copy-to-run boundary uses. The header word itself lies inside the signed body, so body_len is covered by the signature.

Invariant
magic == k_ra8_tz_ns_rot_header_magic for a RoT-built NS image.
body_len equals signed_body_end - ns_run_start (the NS linker computes it) and the trailer sits at ns_base + body_len.
See also
ra8_tz_ns_signed_body_len
ra8_rot_trailer_after

Definition at line 163 of file ra8_tz_secure_boot.h.

Field Documentation

◆ body_len

uint32_t ra8_ns_rot_header_t::body_len

Signed body length in bytes (trailer at base+len).

Definition at line 165 of file ra8_tz_secure_boot.h.

Referenced by ra8_tz_ns_signed_body_len().

◆ magic

uint32_t ra8_ns_rot_header_t::magic

k_ra8_tz_ns_rot_header_magic ("NSR1").

Definition at line 164 of file ra8_tz_secure_boot.h.


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