Skip to main content

validate_served_image

Function validate_served_image 

Source
pub fn validate_served_image(
    segments: &[DataSegment],
    image: &[u8],
) -> ImageVerdict
Expand description

Dense served-image gate: for every address in [0, image_extent), the byte SERVED — image[addr], or 0 when the image doesn’t reach addr (zeroed RAM; an empty image models a target that ships NO initializer bytes, the RISC-V single-base scheme) — must equal the runtime image byte (segments applied in declaration order, later-wins; implicit zero where uncovered).

The truth side is reconstructed only from the segment list, never from the image, so the gate cannot be satisfied by mirroring the packing code.