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§

GArray
GByteArray
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§

QEMU_PLUGIN_VERSION
__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64
__SYSCALL_WORDSIZE

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.

Unions§

qemu_info_t__bindgen_ty_2