(ctx: *mut c_void, number: i32, timer: *mut c_void)
| 405 | } |
| 406 | |
| 407 | pub unsafe extern "C" fn timer_expired(ctx: *mut c_void, number: i32, timer: *mut c_void) { |
| 408 | let vm = unsafe { &mut *(*ctx.cast::<Context>()).vm }; |
| 409 | let timer = timer.cast::<fuzzware::Timer>(); |
| 410 | tracing::debug!( |
| 411 | "[{:#x}:{}] Timer: {number} expired. Reloading to {}", |
| 412 | vm.cpu.read_pc(), |
| 413 | vm.cpu.icount(), |
| 414 | (*timer).reload_val |
| 415 | ); |
| 416 | } |
| 417 | |
| 418 | /// A magic location used for reading other data from the fuzzer (that is not a valid MMIO address). |
| 419 | pub const IRQ_NUMBER_ADDR: u64 = 0xaaaa_aaa0; |
nothing calls this directly
no outgoing calls
no test coverage detected