()
| 401 | let base = self.next.ram_base(); |
| 402 | for (set_idx, set) in self.sets.iter().enumerate() { |
| 403 | for line in &set.ways { |
| 404 | if line.valid && line.dirty { |
| 405 | let addr = self.line_base_address(line.tag, set_idx as u64); |
| 406 | let off = addr.wrapping_sub(base) as usize; |
| 407 | if addr >= base && off + line.data.len() <= buf.len() { |
| 408 | buf[off..off + line.data.len()].copy_from_slice(&line.data); |
| 409 | } |
| 410 | } |
| 411 | } |
| 412 | } |
| 413 | } |
| 414 | fn load_image(&mut self, bytes: &[u8]) { |
| 415 | self.next.load_image(bytes); |
| 416 | for set in &mut self.sets { |
no outgoing calls