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§
- GArray
- GByte
Array - qemu_
info_ t - struct qemu_info_t - system information for plugins
- qemu_
info_ t__ bindgen_ ty_ 1 - @version: minimum and current plugin API level
- qemu_
info_ t__ bindgen_ ty_ 2__ bindgen_ ty_ 1 - @system: information relevant to system emulation
- qemu_
plugin_ hwaddr - struct qemu_plugin_hwaddr - opaque hw address handle
- qemu_
plugin_ insn - struct qemu_plugin_insn - Opaque handle for a translated instruction
- qemu_
plugin_ reg_ descriptor - typedef qemu_plugin_reg_descriptor - register descriptions
- qemu_
plugin_ register - struct qemu_plugin_register - Opaque handle for register access
- qemu_
plugin_ scoreboard - struct qemu_plugin_scoreboard - Opaque handle for a scoreboard
- qemu_
plugin_ tb - struct qemu_plugin_tb - Opaque handle for a translation block
- qemu_
plugin_ u64 - typedef qemu_plugin_u64 - uint64_t member of an entry in a scoreboard
Enums§
- qemu_
plugin_ cb_ flags - enum qemu_plugin_cb_flags - type of callback
- qemu_
plugin_ mem_ rw - qemu_
plugin_ op - enum qemu_plugin_op - describes an inline op
Constants§
Functions§
- qemu_
plugin_ ⚠bool_ parse - qemu_plugin_bool_parse() - parses a boolean argument in the form of
“
=[on|yes|true|off|no|false]” - qemu_
plugin_ ⚠end_ code - qemu_plugin_end_code() - returns end of text segment
- qemu_
plugin_ ⚠entry_ code - qemu_plugin_entry_code() - returns start address for module
- qemu_
plugin_ ⚠get_ hwaddr - 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 - qemu_plugin_get_registers() - return register list for current vCPU
- qemu_
plugin_ ⚠hwaddr_ device_ name - Returns a string representing the device. The string is valid for the lifetime of the plugin.
- qemu_
plugin_ ⚠hwaddr_ is_ io - qemu_plugin_hwaddr_is_io() - query whether memory operation is IO @haddr: address handle from qemu_plugin_get_hwaddr()
- qemu_
plugin_ ⚠hwaddr_ phys_ addr - qemu_plugin_hwaddr_phys_addr() - query physical address for memory operation @haddr: address handle from qemu_plugin_get_hwaddr()
- qemu_
plugin_ ⚠insn_ data - qemu_plugin_insn_data() - return ptr to instruction data @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_
plugin_ ⚠insn_ disas - qemu_plugin_insn_disas() - return disassembly string for instruction @insn: instruction reference
- qemu_
plugin_ ⚠insn_ haddr - qemu_plugin_insn_haddr() - return hardware addr of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_
plugin_ ⚠insn_ size - qemu_plugin_insn_size() - return size of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_
plugin_ ⚠insn_ symbol - qemu_plugin_insn_symbol() - best effort symbol lookup @insn: instruction reference
- qemu_
plugin_ ⚠insn_ vaddr - qemu_plugin_insn_vaddr() - return vaddr of instruction @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
- qemu_
plugin_ ⚠mem_ is_ big_ endian - qemu_plugin_mem_is_big_endian() - was the access big endian @info: opaque memory transaction handle
- qemu_
plugin_ ⚠mem_ is_ sign_ extended - qemu_plugin_mem_is_sign_extended() - was the access sign extended @info: opaque memory transaction handle
- qemu_
plugin_ ⚠mem_ is_ store - qemu_plugin_mem_is_store() - was the access a store @info: opaque memory transaction handle
- qemu_
plugin_ ⚠mem_ size_ shift - qemu_plugin_mem_size_shift() - get size of access @info: opaque memory transaction handle
- qemu_
plugin_ ⚠num_ vcpus - returns how many vcpus were started at this point
- qemu_
plugin_ ⚠outs - qemu_plugin_outs() - output string via QEMU’s logging system @string: a string
- qemu_
plugin_ ⚠path_ to_ binary - qemu_plugin_path_to_binary() - path to binary file being executed
- qemu_
plugin_ ⚠read_ register - qemu_plugin_read_register() - read register for current vCPU
- qemu_
plugin_ ⚠register_ atexit_ cb - qemu_plugin_register_atexit_cb() - register exit callback @id: plugin ID @cb: callback @userdata: user data for callback
- qemu_
plugin_ ⚠register_ flush_ cb - qemu_
plugin_ ⚠register_ vcpu_ exit_ cb - qemu_plugin_register_vcpu_exit_cb() - register a vCPU exit callback @id: plugin ID @cb: callback function
- qemu_
plugin_ ⚠register_ vcpu_ idle_ cb - qemu_plugin_register_vcpu_idle_cb() - register a vCPU idle callback @id: plugin ID @cb: callback function
- qemu_
plugin_ ⚠register_ vcpu_ init_ cb - qemu_plugin_register_vcpu_init_cb() - register a vCPU initialization callback @id: plugin ID @cb: callback function
- qemu_
plugin_ ⚠register_ vcpu_ insn_ exec_ cb - 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 - 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 - 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 - 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 - qemu_plugin_register_vcpu_resume_cb() - register a vCPU resume callback @id: plugin ID @cb: callback function
- qemu_
plugin_ ⚠register_ vcpu_ syscall_ cb - qemu_
plugin_ ⚠register_ vcpu_ syscall_ ret_ cb - qemu_
plugin_ ⚠register_ vcpu_ tb_ exec_ cb - 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 - 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 - qemu_plugin_register_vcpu_tb_trans_cb() - register a translate cb @id: plugin ID @cb: callback function
- qemu_
plugin_ ⚠reset - 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 - qemu_plugin_scoreboard_find() - get pointer to an entry of a scoreboard @score: scoreboard to query @vcpu_index: entry index
- qemu_
plugin_ ⚠scoreboard_ free - qemu_plugin_scoreboard_free() - free a scoreboard @score: scoreboard to free
- qemu_
plugin_ ⚠scoreboard_ new - qemu_plugin_scoreboard_new() - alloc a new scoreboard
- qemu_
plugin_ ⚠start_ code - qemu_plugin_start_code() - returns start of text segment
- qemu_
plugin_ ⚠tb_ get_ insn - 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 - 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 - qemu_plugin_tb_vaddr() - query helper for vaddr of TB start @tb: opaque handle to TB passed to callback
- qemu_
plugin_ ⚠u64_ add - 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 - 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 - 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 - qemu_plugin_u64_sum() - return sum of all vcpu entries in a scoreboard @entry: entry to sum
- qemu_
plugin_ ⚠uninstall - 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 - qemu_plugin_vcpu_for_each() - iterate over the existing vCPU @id: plugin ID @cb: callback function
Type Aliases§
- qemu_
plugin_ id_ t - typedef qemu_plugin_id_t - Unique plugin ID
- qemu_
plugin_ meminfo_ t - typedef qemu_plugin_meminfo_t - opaque memory transaction handle
- qemu_
plugin_ simple_ cb_ t - typedef qemu_plugin_simple_cb_t - simple callback @id: the unique qemu_plugin_id_t
- qemu_
plugin_ udata_ cb_ 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.
- qemu_
plugin_ vcpu_ mem_ cb_ t - 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
- qemu_
plugin_ vcpu_ simple_ cb_ t - typedef qemu_plugin_vcpu_simple_cb_t - vcpu callback @id: the unique qemu_plugin_id_t @vcpu_index: the current vcpu context
- qemu_
plugin_ vcpu_ syscall_ cb_ t - qemu_
plugin_ vcpu_ syscall_ ret_ cb_ t - qemu_
plugin_ vcpu_ tb_ trans_ cb_ t - typedef qemu_plugin_vcpu_tb_trans_cb_t - translation callback @id: unique plugin id @tb: opaque handle used for querying and instrumenting a block.
- qemu_
plugin_ vcpu_ udata_ cb_ t - 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.