【发布时间】:2018-08-26 14:41:54
【问题描述】:
我需要在运行时访问 PC。例如,一条指令触发对未实现外设的内存访问,该外设在 hw/misc/unimp.c 中捕获。但是,当我通过读取当前 CPUState 得到 pc 时,得到的是当前翻译块 (TB) 的第一条指令。我知道这是因为 TCG。有谁知道如何提取当前准确的 PC 值?
非常感谢! 乐
【问题讨论】:
标签: qemu
我需要在运行时访问 PC。例如,一条指令触发对未实现外设的内存访问,该外设在 hw/misc/unimp.c 中捕获。但是,当我通过读取当前 CPUState 得到 pc 时,得到的是当前翻译块 (TB) 的第一条指令。我知道这是因为 TCG。有谁知道如何提取当前准确的 PC 值?
非常感谢! 乐
【问题讨论】:
标签: qemu
我发现Panda 提供了一个不错的解决方案。简而言之,它分配了一个代表精确 PC 的变量。翻译客户指令时,生成的本机代码也使用 next_pc 的值更新此变量。
【讨论】: