【问题标题】:Can I examine Qemu tcg ir code? If so how?我可以检查 Qemu tcg ir 代码吗?如果有怎么办?
【发布时间】:2018-12-11 20:48:12
【问题描述】:

我正在尝试分析 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,但是找不到生成相关信息。

【问题讨论】:

    标签: qemu


    【解决方案1】:

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

    【讨论】:

    • 正是我想要的 - 谢谢@peter Maydell
    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2020-10-21
    • 2022-06-16
    相关资源
    最近更新 更多