MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / step

Method step

crates/virtual-machine/src/virtual_machine.rs:109–119  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

107 if segment.mem_size < segment.file_size {
108 return Err(VmError::Other(format!(
109 "ELF PT_LOAD segment at {:#x} has file size {} larger than memory size {}",
110 segment.vaddr, segment.file_size, segment.mem_size
111 )));
112 }
113
114 let mapped_vaddr = RAM_BASE + (segment.vaddr - image_base);
115 highest_mapped = highest_mapped.max(mapped_vaddr + segment.mem_size);
116
117 let file_end = segment
118 .offset
119 .checked_add(segment.file_size)
120 .ok_or_else(|| VmError::Other("ELF segment file range overflow".to_owned()))?;
121 let data = bytes
122 .get(segment.offset as usize..file_end as usize)

Callers 1

runMethod · 0.45

Calls 2

take_syscon_exitMethod · 0.80
tickMethod · 0.45

Tested by

no test coverage detected