Union panda_sys::panda_cb_with_context
source · #[repr(C)]
pub union panda_cb_with_context {
Show 51 fields
pub before_block_exec_invalidate_opt: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock) -> bool>,
pub before_tcg_codegen: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>,
pub before_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>,
pub after_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock, exitCode: u8)>,
pub before_block_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t)>,
pub after_block_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>,
pub after_cpu_exec_enter: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub before_cpu_exec_exit: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, ranBlock: bool)>,
pub insn_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> bool>,
pub insn_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> c_int>,
pub after_insn_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> bool>,
pub after_insn_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> c_int>,
pub virt_mem_before_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t)>,
pub virt_mem_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub phys_mem_before_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t)>,
pub phys_mem_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub virt_mem_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub virt_mem_after_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub phys_mem_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub phys_mem_after_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>,
pub mmio_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, physaddr: target_ptr_t, vaddr: target_ptr_t, size: size_t, val: *mut u64)>,
pub mmio_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, physaddr: target_ptr_t, vaddr: target_ptr_t, size: size_t, val: *mut u64)>,
pub hd_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub hd_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub guest_hypercall: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState) -> bool>,
pub monitor: Option<unsafe extern "C" fn(context: *mut c_void, mon: *mut Monitor, cmd: *const c_char) -> c_int>,
pub cpu_restore_state: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>,
pub before_loadvm: Option<unsafe extern "C" fn(context: *mut c_void) -> c_int>,
pub asid_changed: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, oldval: target_ptr_t, newval: target_ptr_t) -> bool>,
pub replay_hd_transfer: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, type_: u32, src_addr: target_ptr_t, dest_addr: target_ptr_t, num_bytes: size_t)>,
pub replay_before_dma: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *const u8, addr: hwaddr, size: size_t, is_write: bool)>,
pub replay_after_dma: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *const u8, addr: hwaddr, size: size_t, is_write: bool)>,
pub replay_handle_packet: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *mut u8, size: size_t, direction: u8, buf_addr_rec: u64)>,
pub replay_net_transfer: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, type_: u32, src_addr: u64, dest_addr: u64, num_bytes: size_t)>,
pub replay_serial_receive: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, value: u8)>,
pub replay_serial_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, port_addr: u32, value: u8)>,
pub replay_serial_send: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, value: u8)>,
pub replay_serial_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, port_addr: u32, value: u8)>,
pub after_machine_init: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub after_loadvm: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub top_loop: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>,
pub during_machine_init: Option<unsafe extern "C" fn(context: *mut c_void, machine: *mut MachineState)>,
pub main_loop_wait: Option<unsafe extern "C" fn(context: *mut c_void)>,
pub pre_shutdown: Option<unsafe extern "C" fn(context: *mut c_void)>,
pub unassigned_io_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: hwaddr, size: size_t, val: *mut u64) -> bool>,
pub unassigned_io_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: hwaddr, size: size_t, val: u64) -> bool>,
pub before_handle_exception: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, exception_index: i32) -> i32>,
pub before_handle_interrupt: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, interrupt_request: i32) -> i32>,
pub start_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, tb: *mut TranslationBlock)>,
pub end_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, tb: *mut TranslationBlock)>,
pub cbaddr: Option<unsafe extern "C" fn()>,
}
Fields§
§before_block_exec_invalidate_opt: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock) -> bool>
§before_tcg_codegen: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>
§before_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>
§after_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock, exitCode: u8)>
§before_block_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t)>
§after_block_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>
§after_cpu_exec_enter: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§before_cpu_exec_exit: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, ranBlock: bool)>
§insn_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> bool>
§insn_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> c_int>
§after_insn_translate: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> bool>
§after_insn_exec: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t) -> c_int>
§virt_mem_before_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t)>
§virt_mem_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§phys_mem_before_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t)>
§phys_mem_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§virt_mem_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§virt_mem_after_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§phys_mem_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§phys_mem_after_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: target_ptr_t, size: size_t, buf: *mut u8)>
§mmio_after_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, physaddr: target_ptr_t, vaddr: target_ptr_t, size: size_t, val: *mut u64)>
§mmio_before_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, physaddr: target_ptr_t, vaddr: target_ptr_t, size: size_t, val: *mut u64)>
§hd_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§hd_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§guest_hypercall: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState) -> bool>
§monitor: Option<unsafe extern "C" fn(context: *mut c_void, mon: *mut Monitor, cmd: *const c_char) -> c_int>
§cpu_restore_state: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, tb: *mut TranslationBlock)>
§before_loadvm: Option<unsafe extern "C" fn(context: *mut c_void) -> c_int>
§asid_changed: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, oldval: target_ptr_t, newval: target_ptr_t) -> bool>
§replay_hd_transfer: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, type_: u32, src_addr: target_ptr_t, dest_addr: target_ptr_t, num_bytes: size_t)>
§replay_before_dma: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *const u8, addr: hwaddr, size: size_t, is_write: bool)>
§replay_after_dma: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *const u8, addr: hwaddr, size: size_t, is_write: bool)>
§replay_handle_packet: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, buf: *mut u8, size: size_t, direction: u8, buf_addr_rec: u64)>
§replay_net_transfer: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, type_: u32, src_addr: u64, dest_addr: u64, num_bytes: size_t)>
§replay_serial_receive: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, value: u8)>
§replay_serial_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, port_addr: u32, value: u8)>
§replay_serial_send: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, value: u8)>
§replay_serial_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, fifo_addr: target_ptr_t, port_addr: u32, value: u8)>
§after_machine_init: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§after_loadvm: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§top_loop: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState)>
§during_machine_init: Option<unsafe extern "C" fn(context: *mut c_void, machine: *mut MachineState)>
§main_loop_wait: Option<unsafe extern "C" fn(context: *mut c_void)>
§pre_shutdown: Option<unsafe extern "C" fn(context: *mut c_void)>
§unassigned_io_read: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: hwaddr, size: size_t, val: *mut u64) -> bool>
§unassigned_io_write: Option<unsafe extern "C" fn(context: *mut c_void, env: *mut CPUState, pc: target_ptr_t, addr: hwaddr, size: size_t, val: u64) -> bool>
§before_handle_exception: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, exception_index: i32) -> i32>
§before_handle_interrupt: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, interrupt_request: i32) -> i32>
§start_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, tb: *mut TranslationBlock)>
§end_block_exec: Option<unsafe extern "C" fn(context: *mut c_void, cpu: *mut CPUState, tb: *mut TranslationBlock)>
§cbaddr: Option<unsafe extern "C" fn()>
Trait Implementations§
source§impl Clone for panda_cb_with_context
impl Clone for panda_cb_with_context
source§fn clone(&self) -> panda_cb_with_context
fn clone(&self) -> panda_cb_with_context
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreimpl Copy for panda_cb_with_context
Auto Trait Implementations§
impl RefUnwindSafe for panda_cb_with_context
impl Send for panda_cb_with_context
impl Sync for panda_cb_with_context
impl Unpin for panda_cb_with_context
impl UnwindSafe for panda_cb_with_context
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more