如何从 QEMU 中的 C 辅助函数访问执行指令二进制代码(例如,操作码)

How to access executing instruction binary code (e.g., opcode) from C helper functions in QEMU

我想修改 QEMU 模拟器在主机(例如 x86)上执行目标架构(例如 RISC-V)的一些汇编指令时的行为运行。

我的问题是,是否可以从 C 助手访问与正在执行的指令相关的信息?

有些信息可以从上下文变量指针访问,但我无法访问指令二进制代码等。有什么想法吗?

My question is, is it possible, to access the information related to the instruction being executed, from the C helper?

是的。一种方法是将此信息从翻译功能传递给助手。另一种是在助手中使用cpu_ld*_code(例如cpu_ldub_code)从内存中获取指令。