MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / get_mmio_reads

Method get_mmio_reads

hail-fuzz/src/debugging/trace.rs:149–167  ·  view source on GitHub ↗
(&self, vm: &mut icicle_vm::Vm)

Source from the content-addressed store, hash-verified

147 }
148
149 pub fn get_mmio_reads(&self, vm: &mut icicle_vm::Vm) -> Vec<(StreamKey, u64, u8)> {
150 let path_tracer = vm.cpu.get_hook_mut(self.0);
151 let mmio_handle = path_tracer.data_mut::<PathTracer>().unwrap().mmio_handler;
152 let handler = vm.cpu.mem.get_io_memory_mut(mmio_handle).as_any();
153
154 let mut mmio_reads = vec![];
155 if let Some(handler) = handler.downcast_ref::<FuzzwareMmioHandler<MultiStream>>() {
156 if let Some(tracer) = handler
157 .source
158 .tracer
159 .as_ref()
160 .and_then(|x| x.as_any().downcast_ref::<MultiStreamTracer>())
161 {
162 mmio_reads = tracer.reads.clone();
163 }
164 }
165
166 mmio_reads
167 }
168
169 pub fn clear(&self, vm: &mut icicle_vm::Vm) {
170 let path_tracer = vm.cpu.get_hook_mut(self.0);

Callers 1

replay_traceFunction · 0.80

Calls 2

cloneMethod · 0.80
as_anyMethod · 0.45

Tested by

no test coverage detected