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

Function store_int

crates/virtual-machine/src/cpu/pipeline/memory.rs:289–305  ·  view source on GitHub ↗
(bus: &mut SystemBus, addr: u64, val: u64, funct3: u8)

Source from the content-addressed store, hash-verified

287 let word = bus
288 .read_word(addr)
289 .map_err(|_| VmError::LoadAccessFault(addr))?;
290 Ok(0xFFFF_FFFF_0000_0000u64 | (word as u64))
291 }
292 3 => {
293 // FLD
294 let dw = bus
295 .read_doubleword(addr)
296 .map_err(|_| VmError::LoadAccessFault(addr))?;
297 Ok(dw)
298 }
299 _ => Err(VmError::LoadAccessFault(addr)),
300 }
301}
302
303// --- FP store ---
304
305fn store_fp(bus: &mut SystemBus, addr: u64, bits: u64, funct3: u8) -> Result<(), VmError> {
306 match funct3 {
307 2 => {
308 // FSW: lower 32 bits

Callers 1

memory_stage_with_pmpFunction · 0.85

Calls 4

write_byteMethod · 0.45
write_halfwordMethod · 0.45
write_wordMethod · 0.45
write_doublewordMethod · 0.45

Tested by

no test coverage detected