Crate qemu_plugin_sys
source ·Expand description
Low level bindings to the QEMU Plugin API
These bindings are generated from the QEMU source code, and should not be used directly.
Instead, use the qeu-plugin
crate.
Structs§
- struct qemu_info_t - system information for plugins
- @version: minimum and current plugin API level
- @system: information relevant to system emulation
- struct qemu_plugin_hwaddr - opaque hw address handle
- struct qemu_plugin_insn - Opaque handle for a translated instruction
- typedef qemu_plugin_reg_descriptor - register descriptions
- struct qemu_plugin_register - Opaque handle for register access
- struct qemu_plugin_scoreboard - Opaque handle for a scoreboard
- struct qemu_plugin_tb - Opaque handle for a translation block
- typedef qemu_plugin_u64 - uint64_t member of an entry in a scoreboard
Enums§
- enum qemu_plugin_cb_flags - type of callback
- enum qemu_plugin_op - describes an inline op
Constants§
Functions§
- qemu_plugin_bool_parse() - parses a boolean argument in the form of “
=[on|yes|true|off|no|false]” - qemu_plugin_end_code() - returns end of text segment
- qemu_plugin_entry_code() - returns start address for module
- qemu_plugin_get_hwaddr() - return handle for memory operation @info: opaque memory info structure @vaddr: the virtual address of the memory operation
- qemu_plugin_get_registers() - return register list for current vCPU
- Returns a string representing the device. The string is valid for the lifetime of the plugin.
- qemu_plugin_hwaddr_is_io() - query whether memory operation is IO @haddr: address handle from qemu_plugin_get_hwaddr()
- qemu_plugin_hwaddr_phys_addr() - query physical address for memory operation @haddr: address handle from qemu_plugin_get_hwaddr()
- qemu_plugin_insn_data() - return ptr to instruction data @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_plugin_insn_disas() - return disassembly string for instruction @insn: instruction reference
- qemu_plugin_insn_haddr() - return hardware addr of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_plugin_insn_size() - return size of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_plugin_insn_symbol() - best effort symbol lookup @insn: instruction reference
- qemu_plugin_insn_vaddr() - return vaddr of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_plugin_mem_is_big_endian() - was the access big endian @info: opaque memory transaction handle
- qemu_plugin_mem_is_sign_extended() - was the access sign extended @info: opaque memory transaction handle
- qemu_plugin_mem_is_store() - was the access a store @info: opaque memory transaction handle
- qemu_plugin_mem_size_shift() - get size of access @info: opaque memory transaction handle
- returns how many vcpus were started at this point
- qemu_plugin_outs() - output string via QEMU’s logging system @string: a string
- qemu_plugin_path_to_binary() - path to binary file being executed
- qemu_plugin_read_register() - read register for current vCPU
- qemu_plugin_register_atexit_cb() - register exit callback @id: plugin ID @cb: callback @userdata: user data for callback
- qemu_plugin_register_vcpu_exit_cb() - register a vCPU exit callback @id: plugin ID @cb: callback function
- qemu_plugin_register_vcpu_idle_cb() - register a vCPU idle callback @id: plugin ID @cb: callback function
- qemu_plugin_register_vcpu_init_cb() - register a vCPU initialization callback @id: plugin ID @cb: callback function
- qemu_plugin_register_vcpu_insn_exec_cb() - register insn execution cb @insn: the opaque qemu_plugin_insn handle for an instruction @cb: callback function @flags: does the plugin read or write the CPU’s registers? @userdata: any plugin data to pass to the @cb?
- qemu_plugin_register_vcpu_insn_exec_inline_per_vcpu() - insn exec inline op @insn: the opaque qemu_plugin_insn handle for an instruction @op: the type of qemu_plugin_op (e.g. ADD_U64) @entry: entry to run op @imm: the op data (e.g. 1)
- qemu_plugin_register_vcpu_mem_cb() - register memory access callback @insn: handle for instruction to instrument @cb: callback of type qemu_plugin_vcpu_mem_cb_t @flags: (currently unused) callback flags @rw: monitor reads, writes or both @userdata: opaque pointer for userdata
- qemu_plugin_register_vcpu_mem_inline_per_vcpu() - inline op for mem access @insn: handle for instruction to instrument @rw: apply to reads, writes or both @op: the op, of type qemu_plugin_op @entry: entry to run op @imm: immediate data for @op
- qemu_plugin_register_vcpu_resume_cb() - register a vCPU resume callback @id: plugin ID @cb: callback function
- qemu_plugin_register_vcpu_tb_exec_cb() - register execution callback @tb: the opaque qemu_plugin_tb handle for the translation @cb: callback function @flags: does the plugin read or write the CPU’s registers? @userdata: any plugin data to pass to the @cb?
- qemu_plugin_register_vcpu_tb_exec_inline_per_vcpu() - execution inline op @tb: the opaque qemu_plugin_tb handle for the translation @op: the type of qemu_plugin_op (e.g. ADD_U64) @entry: entry to run op @imm: the op data (e.g. 1)
- qemu_plugin_register_vcpu_tb_trans_cb() - register a translate cb @id: plugin ID @cb: callback function
- qemu_plugin_reset() - Reset a plugin @id: this plugin’s opaque ID @cb: callback to be called once the plugin has been reset
- qemu_plugin_scoreboard_find() - get pointer to an entry of a scoreboard @score: scoreboard to query @vcpu_index: entry index
- qemu_plugin_scoreboard_free() - free a scoreboard @score: scoreboard to free
- qemu_plugin_scoreboard_new() - alloc a new scoreboard
- qemu_plugin_start_code() - returns start of text segment
- qemu_plugin_tb_get_insn() - retrieve handle for instruction @tb: opaque handle to TB passed to callback @idx: instruction number, 0 indexed
- qemu_plugin_tb_n_insns() - query helper for number of insns in TB @tb: opaque handle to TB passed to callback
- qemu_plugin_tb_vaddr() - query helper for vaddr of TB start @tb: opaque handle to TB passed to callback
- qemu_plugin_u64_add() - add a value to a qemu_plugin_u64 for a given vcpu @entry: entry to query @vcpu_index: entry index @added: value to add
- qemu_plugin_u64_get() - get value of a qemu_plugin_u64 for a given vcpu @entry: entry to query @vcpu_index: entry index
- qemu_plugin_u64_set() - set value of a qemu_plugin_u64 for a given vcpu @entry: entry to query @vcpu_index: entry index @val: new value
- qemu_plugin_u64_sum() - return sum of all vcpu entries in a scoreboard @entry: entry to sum
- qemu_plugin_uninstall() - Uninstall a plugin @id: this plugin’s opaque ID @cb: callback to be called once the plugin has been removed
- qemu_plugin_vcpu_for_each() - iterate over the existing vCPU @id: plugin ID @cb: callback function
Type Aliases§
- typedef qemu_plugin_id_t - Unique plugin ID
- typedef qemu_plugin_meminfo_t - opaque memory transaction handle
- typedef qemu_plugin_simple_cb_t - simple callback @id: the unique qemu_plugin_id_t
- typedef qemu_plugin_udata_cb_t - callback with user data @id: the unique qemu_plugin_id_t @userdata: a pointer to some user data supplied when the callback was registered.
- typedef qemu_plugin_vcpu_mem_cb_t - memory callback function type @vcpu_index: the executing vCPU @info: an opaque handle for further queries about the memory @vaddr: the virtual address of the transaction @userdata: any user data attached to the callback
- typedef qemu_plugin_vcpu_simple_cb_t - vcpu callback @id: the unique qemu_plugin_id_t @vcpu_index: the current vcpu context
- typedef qemu_plugin_vcpu_tb_trans_cb_t - translation callback @id: unique plugin id @tb: opaque handle used for querying and instrumenting a block.
- typedef qemu_plugin_vcpu_udata_cb_t - vcpu callback @vcpu_index: the current vcpu context @userdata: a pointer to some user data supplied when the callback was registered.