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

One executable PT_LOAD segment, already bounds-checked against the image. More...

#include <emu_elf.h>

Collaboration diagram for elf_exec_segment_t:

Data Fields

const emu_elf_source_tsource
 Open source owning segment bytes.
uint32_t offset
 Segment file offset.
uint32_t vaddr
 Segment virtual address.
uint32_t paddr
 Segment physical load address.
uint32_t filesz
 Segment file byte count.
uint32_t flags
 ELF program-header flags.

Detailed Description

One executable PT_LOAD segment, already bounds-checked against the image.

Handed to an elf_exec_segment_fn by elf_foreach_exec_segment so a scanner works from validated offsets instead of re-decoding program-header fields. Consumers read bounded segment ranges through priv_emu_elf_read.

Invariant
offset .. offset + filesz lies inside the source.
The segment is PT_LOAD with PF_X set and filesz is non-zero.
See also
elf_foreach_exec_segment Produces these.
Since
0.1.0

Definition at line 238 of file emu_elf.h.

Field Documentation

◆ filesz

uint32_t elf_exec_segment_t::filesz

Segment file byte count.

Definition at line 243 of file emu_elf.h.

Referenced by internal_div0_scan_segment(), internal_long_shift_segment(), and internal_stream_segment().

◆ flags

uint32_t elf_exec_segment_t::flags

ELF program-header flags.

Definition at line 244 of file emu_elf.h.

Referenced by elf_foreach_exec_segment().

◆ offset

uint32_t elf_exec_segment_t::offset

Segment file offset.

Definition at line 240 of file emu_elf.h.

Referenced by internal_div0_scan_segment(), internal_long_shift_segment(), and internal_stream_segment().

◆ paddr

uint32_t elf_exec_segment_t::paddr

Segment physical load address.

Definition at line 242 of file emu_elf.h.

Referenced by internal_cpu1_segment(), and internal_stream_segment().

◆ source

const emu_elf_source_t* elf_exec_segment_t::source

Open source owning segment bytes.

Definition at line 239 of file emu_elf.h.

Referenced by internal_div0_scan_segment(), internal_long_shift_segment(), and internal_stream_segment().

◆ vaddr

uint32_t elf_exec_segment_t::vaddr

Segment virtual address.

Definition at line 241 of file emu_elf.h.

Referenced by internal_div0_scan_segment(), internal_long_shift_segment(), and internal_vector_segment().


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