a3c2cf0b89
We introduce a cpu local storage, automatically managed (and extended) by QEMU itself. Plugin allocate a scoreboard, and don't have to deal with how many cpus are launched. This API will be used by new inline functions but callbacks can benefit from this as well. This way, they can operate without a global lock for simple operations. At any point during execution, any scoreboard will be dimensioned with at least qemu_plugin_num_vcpus entries. New functions: - qemu_plugin_scoreboard_find - qemu_plugin_scoreboard_free - qemu_plugin_scoreboard_new Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240304130036.124418-2-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240305121005.3528075-15-alex.bennee@linaro.org>
50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
{
|
|
qemu_plugin_bool_parse;
|
|
qemu_plugin_end_code;
|
|
qemu_plugin_entry_code;
|
|
qemu_plugin_get_hwaddr;
|
|
qemu_plugin_get_registers;
|
|
qemu_plugin_hwaddr_device_name;
|
|
qemu_plugin_hwaddr_is_io;
|
|
qemu_plugin_hwaddr_phys_addr;
|
|
qemu_plugin_insn_data;
|
|
qemu_plugin_insn_disas;
|
|
qemu_plugin_insn_haddr;
|
|
qemu_plugin_insn_size;
|
|
qemu_plugin_insn_symbol;
|
|
qemu_plugin_insn_vaddr;
|
|
qemu_plugin_mem_is_big_endian;
|
|
qemu_plugin_mem_is_sign_extended;
|
|
qemu_plugin_mem_is_store;
|
|
qemu_plugin_mem_size_shift;
|
|
qemu_plugin_num_vcpus;
|
|
qemu_plugin_outs;
|
|
qemu_plugin_path_to_binary;
|
|
qemu_plugin_read_register;
|
|
qemu_plugin_register_atexit_cb;
|
|
qemu_plugin_register_flush_cb;
|
|
qemu_plugin_register_vcpu_exit_cb;
|
|
qemu_plugin_register_vcpu_idle_cb;
|
|
qemu_plugin_register_vcpu_init_cb;
|
|
qemu_plugin_register_vcpu_insn_exec_cb;
|
|
qemu_plugin_register_vcpu_insn_exec_inline;
|
|
qemu_plugin_register_vcpu_mem_cb;
|
|
qemu_plugin_register_vcpu_mem_inline;
|
|
qemu_plugin_register_vcpu_resume_cb;
|
|
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_inline;
|
|
qemu_plugin_register_vcpu_tb_trans_cb;
|
|
qemu_plugin_reset;
|
|
qemu_plugin_scoreboard_free;
|
|
qemu_plugin_scoreboard_find;
|
|
qemu_plugin_scoreboard_new;
|
|
qemu_plugin_start_code;
|
|
qemu_plugin_tb_get_insn;
|
|
qemu_plugin_tb_n_insns;
|
|
qemu_plugin_tb_vaddr;
|
|
qemu_plugin_uninstall;
|
|
qemu_plugin_vcpu_for_each;
|
|
};
|