TCG 模拟
本节详细介绍 QEMU 的微型代码生成器(TCG)及模拟相关基础设施。 如果只为硬件加速虚拟机监控器实现功能,则无需关注这些内容。
- 翻译器内部实现
- TCG 中间表示
- Decodetree 规格
- 多线程 TCG
- TCG 指令计数
- QEMU TCG 插件
- 插件 API
qemu_plugin_id_tqemu_info_tqemu_plugin_install()qemu_plugin_udata_cb_tqemu_plugin_vcpu_udata_cb_tqemu_plugin_discon_typeqemu_plugin_vcpu_discon_cb_tqemu_plugin_uninstall()qemu_plugin_reset()qemu_plugin_register_vcpu_init_cb()qemu_plugin_register_vcpu_exit_cb()qemu_plugin_register_vcpu_idle_cb()qemu_plugin_register_vcpu_resume_cb()qemu_plugin_register_vcpu_discon_cb()qemu_plugin_u64qemu_plugin_cb_flagsqemu_plugin_mem_rwqemu_plugin_mem_value_typeqemu_plugin_mem_valueqemu_plugin_condqemu_plugin_vcpu_tb_trans_cb_tqemu_plugin_register_vcpu_tb_trans_cb()qemu_plugin_register_vcpu_tb_exec_cb()qemu_plugin_register_vcpu_tb_exec_cond_cb()qemu_plugin_opqemu_plugin_register_vcpu_tb_exec_inline_per_vcpu()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_tb_n_insns()qemu_plugin_tb_vaddr()qemu_plugin_tb_get_insn()qemu_plugin_insn_data()qemu_plugin_insn_size()qemu_plugin_insn_vaddr()qemu_plugin_insn_haddr()qemu_plugin_meminfo_tqemu_plugin_mem_size_shift()qemu_plugin_mem_is_sign_extended()qemu_plugin_mem_is_big_endian()qemu_plugin_mem_is_store()qemu_plugin_mem_get_value()qemu_plugin_get_hwaddr()qemu_plugin_hwaddr_is_io()qemu_plugin_hwaddr_phys_addr()qemu_plugin_vcpu_mem_cb_tqemu_plugin_register_vcpu_mem_cb()qemu_plugin_register_vcpu_mem_inline_per_vcpu()qemu_plugin_request_time_control()qemu_plugin_update_ns()qemu_plugin_vcpu_syscall_cb_tqemu_plugin_vcpu_syscall_filter_cb_tqemu_plugin_vcpu_syscall_ret_cb_tqemu_plugin_register_vcpu_syscall_cb()qemu_plugin_register_vcpu_syscall_filter_cb()qemu_plugin_register_vcpu_syscall_ret_cb()qemu_plugin_insn_disas()qemu_plugin_insn_symbol()qemu_plugin_vcpu_for_each()qemu_plugin_register_flush_cb()qemu_plugin_register_atexit_cb()qemu_plugin_outs()qemu_plugin_bool_parse()qemu_plugin_path_to_binary()qemu_plugin_start_code()qemu_plugin_end_code()qemu_plugin_entry_code()qemu_plugin_reg_descriptorqemu_plugin_get_registers()qemu_plugin_read_register()qemu_plugin_write_register()qemu_plugin_set_pc()qemu_plugin_read_memory_vaddr()qemu_plugin_write_memory_vaddr()qemu_plugin_hwaddr_operation_resultqemu_plugin_read_memory_hwaddr()qemu_plugin_write_memory_hwaddr()qemu_plugin_translate_vaddr()qemu_plugin_scoreboard_new()qemu_plugin_scoreboard_free()qemu_plugin_scoreboard_find()qemu_plugin_u64_add()qemu_plugin_u64_get()qemu_plugin_u64_set()qemu_plugin_u64_sum()
- 执行记录与重放