 7de77d3788
			
		
	
	
		7de77d3788
		
	
	
	
	
		
			
			Extend plugins API to support callback called with a given criteria (evaluated inline). Added functions: - qemu_plugin_register_vcpu_tb_exec_cond_cb - qemu_plugin_register_vcpu_insn_exec_cond_cb They expect as parameter a condition, a qemu_plugin_u64_t (op1) and an immediate (op2). Callback is called if op1 |cond| op2 is true. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240502211522.346467-6-pierrick.bouvier@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> [AJB: fix re-base conflict with tb_is_mem_only()] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240514174253.694591-8-alex.bennee@linaro.org>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 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_cond_cb;
 | |
|   qemu_plugin_register_vcpu_insn_exec_inline_per_vcpu;
 | |
|   qemu_plugin_register_vcpu_mem_cb;
 | |
|   qemu_plugin_register_vcpu_mem_inline_per_vcpu;
 | |
|   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_cond_cb;
 | |
|   qemu_plugin_register_vcpu_tb_exec_inline_per_vcpu;
 | |
|   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_u64_add;
 | |
|   qemu_plugin_u64_get;
 | |
|   qemu_plugin_u64_set;
 | |
|   qemu_plugin_u64_sum;
 | |
|   qemu_plugin_uninstall;
 | |
|   qemu_plugin_vcpu_for_each;
 | |
| };
 |