pub type CPUWriteMemoryFunc = Option<unsafe extern "C" fn(opaque: *mut c_void, addr: hwaddr, value: u32)>;