|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Caller-allocated FTL handle binding the wrapper to the raw device. More...
#include <ra8_ftl.h>
Data Fields | |
| const ra8_io_blockdev_t * | raw |
| Underlying erase-before-write dev. | |
| uint16_t * | map |
| logical->physical map (private). | |
| ra8_ftl_pblock_t * | pblocks |
| Per-physical metadata (private). | |
| uint8_t * | scratch |
| 512-byte copy scratch (private). | |
| uint32_t | logical_blocks |
| Blocks presented to FAT (private). | |
| uint32_t | physical_blocks |
| Blocks in the raw dev (private). | |
| uint8_t | erase_value |
| Raw medium erase byte (private). | |
Caller-allocated FTL handle binding the wrapper to the raw device.
Zero-initialise (= {}) and pass to ra8_ftl_init, which validates the underlying device, records the caller-provided storage, and prepares the cold-start mapping. Treat the fields as private; drive the FTL through the ra8_ftl_* functions and the block device produced by ra8_ftl_as_blockdev. The handle, the underlying device, and all caller storage must out-live every call made through them.
| uint8_t ra8_ftl_t::erase_value |
Raw medium erase byte (private).
Definition at line 197 of file ra8_ftl.h.
Referenced by internal_dev_get_caps(), internal_read_one(), and ra8_ftl_init().
| uint32_t ra8_ftl_t::logical_blocks |
Blocks presented to FAT (private).
Definition at line 195 of file ra8_ftl.h.
Referenced by internal_bounds(), internal_decode_commit(), internal_dev_get_caps(), internal_disjoint(), internal_encode(), internal_native_window(), internal_reset_tables(), internal_validate_header(), internal_validate_wire(), internal_wire_window(), ra8_ftl_checkpoint_size(), ra8_ftl_init(), and ra8_ftl_phys_of().
| uint16_t* ra8_ftl_t::map |
logical->physical map (private).
Definition at line 192 of file ra8_ftl.h.
Referenced by internal_decode_commit(), internal_dev_erase(), internal_disjoint(), internal_encode(), internal_native_window(), internal_read_one(), internal_ready(), internal_reset_tables(), internal_write_one(), ra8_ftl_init(), and ra8_ftl_phys_of().
| ra8_ftl_pblock_t* ra8_ftl_t::pblocks |
Per-physical metadata (private).
Definition at line 193 of file ra8_ftl.h.
Referenced by internal_alloc_blank(), internal_decode_commit(), internal_dev_erase(), internal_disjoint(), internal_encode(), internal_native_window(), internal_pick_free(), internal_ready(), internal_reclaim_stale(), internal_reset_tables(), internal_write_one(), ra8_ftl_init(), and ra8_ftl_wear_stats().
| uint32_t ra8_ftl_t::physical_blocks |
Blocks in the raw dev (private).
Definition at line 196 of file ra8_ftl.h.
Referenced by internal_decode_commit(), internal_disjoint(), internal_encode(), internal_pick_free(), internal_reclaim_stale(), internal_reset_tables(), internal_validate_header(), internal_validate_native(), internal_validate_wire(), internal_window_mark(), ra8_ftl_checkpoint_size(), ra8_ftl_init(), and ra8_ftl_wear_stats().
| const ra8_io_blockdev_t* ra8_ftl_t::raw |
Underlying erase-before-write dev.
Definition at line 191 of file ra8_ftl.h.
Referenced by internal_alloc_blank(), internal_dev_sync(), internal_read_one(), internal_ready(), internal_reclaim_stale(), internal_write_one(), ra8_ftl_as_blockdev(), and ra8_ftl_init().
| uint8_t* ra8_ftl_t::scratch |
512-byte copy scratch (private).
Definition at line 194 of file ra8_ftl.h.
Referenced by internal_disjoint(), internal_native_window(), internal_ready(), internal_window_mark(), internal_wire_window(), and ra8_ftl_init().