我可以检查Qemu tcg ir代码吗?如果可以,怎么办?

时间:2018-12-11 20:48:12

标签: qemu

我正在尝试分析QEMU tcg IR代码

我看到了this帖子,其中讨论了QEMU代码流。根据该图,转换发生在target-xxx / translate.c处,这是QEMU将代码从源(或前端)转换为TCG IR的地方。然后再访问tcg / xxx / tcg-target.c。

此过程可以总结如下(至少根据我的理解)- 假设我们以x86为前端,powerpc (ppc64abi32)为后端,然后-

x86-> TCG IR-> ppc64abi32

我想分析此TCG IR代码。有什么方法可以生成此代码(这可能不相关,但是例如,我们可以使用带有-clang标志的-S生成LLVM IR代码)?

我自己做了一些研究,发现struct TranslationBlock(在文件/include/exec/exec-all.h中)与tcg IR代码有关(因此,我尝试打印一些结构变量,但不确定是否要朝正确的方向前进。我还阅读了微型代码生成器readme,但找不到与生成相关的信息。

1 个答案:

答案 0 :(得分:1)

查看-d选项,该选项启用各种内容的调试打印。 “ -d op”跟踪TCG操作。您可能还希望使用in_asm和out_asm跟踪输入和输出asm。 -D file选项将跟踪转储到文件中也很有用,因为跟踪通常很大。