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

On-flash superblock at logical sector 0 (also the checkpoint commit). More...

#include <ra8_cache_store_internal.h>

Data Fields

uint32_t magic
 k_ra8_cs_super_magic.
uint32_t version
 k_ra8_cs_format_version.
uint32_t seq
 Checkpoint sequence (monotonic).
uint32_t clean
 ra8_cs_clean_t shutdown marker.
uint32_t entry_count
 Directory entries in the checkpoint.
uint32_t live_sectors
 Live sector count at checkpoint time.
uint32_t next_seq
 Next append sequence number.
uint32_t log_start
 First append-log logical sector.
uint32_t data_capacity
 Overprovisioned live-sector budget.
uint32_t logical_sectors
 Usable logical-sector span.
uint32_t crc
 CRC-32 over the ten fields above.

Detailed Description

On-flash superblock at logical sector 0 (also the checkpoint commit).

Written last on any checkpoint, so a torn checkpoint leaves the prior (or dirty) superblock and forces a safe replay. All fields are 4-byte and self-packing (no padding) for a deterministic CRC.

Invariant
crc == CRC-32 over the preceding fields for a valid superblock.
Since
0.1.0

Definition at line 83 of file ra8_cache_store_internal.h.

Field Documentation

◆ clean

uint32_t ra8_cs_super_t::clean

ra8_cs_clean_t shutdown marker.

Definition at line 87 of file ra8_cache_store_internal.h.

Referenced by internal_super_is_clean().

◆ crc

uint32_t ra8_cs_super_t::crc

CRC-32 over the ten fields above.

Definition at line 94 of file ra8_cache_store_internal.h.

Referenced by internal_super_is_clean(), and priv_cache_store_super_write().

◆ data_capacity

uint32_t ra8_cs_super_t::data_capacity

Overprovisioned live-sector budget.

Definition at line 92 of file ra8_cache_store_internal.h.

◆ entry_count

uint32_t ra8_cs_super_t::entry_count

Directory entries in the checkpoint.

Definition at line 88 of file ra8_cache_store_internal.h.

Referenced by internal_recover(), and priv_cache_store_super_write().

◆ live_sectors

uint32_t ra8_cs_super_t::live_sectors

Live sector count at checkpoint time.

Definition at line 89 of file ra8_cache_store_internal.h.

◆ log_start

uint32_t ra8_cs_super_t::log_start

First append-log logical sector.

Definition at line 91 of file ra8_cache_store_internal.h.

◆ logical_sectors

uint32_t ra8_cs_super_t::logical_sectors

Usable logical-sector span.

Definition at line 93 of file ra8_cache_store_internal.h.

◆ magic

uint32_t ra8_cs_super_t::magic

k_ra8_cs_super_magic.

Definition at line 84 of file ra8_cache_store_internal.h.

Referenced by internal_super_is_clean().

◆ next_seq

uint32_t ra8_cs_super_t::next_seq

Next append sequence number.

Definition at line 90 of file ra8_cache_store_internal.h.

Referenced by internal_recover().

◆ seq

uint32_t ra8_cs_super_t::seq

Checkpoint sequence (monotonic).

Definition at line 86 of file ra8_cache_store_internal.h.

◆ version

uint32_t ra8_cs_super_t::version

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