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

Caller-supplied storage + loader for ra8_vmem_init. More...

#include <ra8_vmem.h>

Collaboration diagram for ra8_vmem_cfg_t:

Data Fields

uint8_t * frame_mem
 frame_count * frame_bytes of page storage.
uint32_t frame_bytes
 Bytes per frame (page size, e.g.
uint32_t frame_count
 Number of frames.
ra8_vmem_frame_tmeta
 frame_count metadata entries.
ra8_vmem_key_tkeys
 frame_count key-storage entries.
int32_t * buckets
 bucket_count hash-bucket heads.
uint32_t bucket_count
 Number of hash buckets (>= 1).
ra8_vmem_loader_fn loader
 Page-fill callback (the storage DIP seam).
void * loader_ctx
 Opaque context passed to loader.
uint8_t protected_pct
 SLRU protected-segment share, 1..100; 0 selects the 75% default.

Detailed Description

Caller-supplied storage + loader for ra8_vmem_init.

All arrays are caller-owned and must out-live the cache. Carve them once from a tier arena at bring-up (frame storage from SDRAM, the metadata + keys + buckets from DTCM for the hot path).

Since
0.1.0

Definition at line 151 of file ra8_vmem.h.

Field Documentation

◆ bucket_count

uint32_t ra8_vmem_cfg_t::bucket_count

Number of hash buckets (>= 1).

Definition at line 158 of file ra8_vmem.h.

Referenced by ra8_vmem_init().

◆ buckets

int32_t* ra8_vmem_cfg_t::buckets

bucket_count hash-bucket heads.

Definition at line 157 of file ra8_vmem.h.

Referenced by ra8_vmem_init().

◆ frame_bytes

uint32_t ra8_vmem_cfg_t::frame_bytes

Bytes per frame (page size, e.g.

4096).

Definition at line 153 of file ra8_vmem.h.

Referenced by internal_drive(), ra8_vmem_get(), ra8_vmem_init(), and ra8_vmem_stream_init().

◆ frame_count

uint32_t ra8_vmem_cfg_t::frame_count

Number of frames.

Definition at line 154 of file ra8_vmem.h.

Referenced by ra8_vmem_init().

◆ frame_mem

uint8_t* ra8_vmem_cfg_t::frame_mem

frame_count * frame_bytes of page storage.

Definition at line 152 of file ra8_vmem.h.

Referenced by ra8_vmem_init(), and ra8_vmem_stats().

◆ keys

ra8_vmem_key_t* ra8_vmem_cfg_t::keys

frame_count key-storage entries.

Definition at line 156 of file ra8_vmem.h.

Referenced by ra8_vmem_init().

◆ loader

ra8_vmem_loader_fn ra8_vmem_cfg_t::loader

Page-fill callback (the storage DIP seam).

Definition at line 159 of file ra8_vmem.h.

Referenced by internal_vmem_fill().

◆ loader_ctx

void* ra8_vmem_cfg_t::loader_ctx

Opaque context passed to loader.

Definition at line 160 of file ra8_vmem.h.

Referenced by internal_vmem_fill().

◆ meta

ra8_vmem_frame_t* ra8_vmem_cfg_t::meta

frame_count metadata entries.

Definition at line 155 of file ra8_vmem.h.

Referenced by ra8_vmem_init().

◆ protected_pct

uint8_t ra8_vmem_cfg_t::protected_pct

SLRU protected-segment share, 1..100; 0 selects the 75% default.

See the file comment "Tuning the protected/probationary split" for how to size it (#232).

Definition at line 161 of file ra8_vmem.h.

Referenced by ra8_vmem_init().


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