0%

本文分析qemu plugin的实现机制,了解qemu plugin的机制后,我们可以很容易的写 一个plugin出来,用qemu plugin的方式为qemu增加新的功能。分析基于的qemu版本是 v7.1.50。

阅读全文 »

本文是学习cmake的一个笔记。测试的平台是Ubuntu 20.04,arm64,使用纯C代码测试。 相关的测试代码放在:https://github.com/wangzhou/tests/cmake。

阅读全文 »

之前写了一个《qemu tcg中间码优化和后端翻译》的分析文章,这个文章涉及的细节 太多,本篇想要描述的是一个东西,但是我们不提代码,着重分析qemu tcg后端翻译 的基本模型。分析中的guest构架使用riscv,host构架使用arm64。

阅读全文 »

本文分析qemu tcg中set_label这个中间码的qemu后端支持,分析基于的qemu版本是 v7.1.50,分析涉及到具体的guest/host CPU构架时,我们均采用riscv。

阅读全文 »

之前没有意识到insn_start这个中间码尽然是每个guest指令之间都要插入一个,本文分析下 qemu insn_start这个中间码的逻辑,分析依赖qemu v7.1.50版本。

阅读全文 »

qemu的编译系统是个大杂烩,它没有用Linux传统的autoconfig,确有一个configure文件, 而且每次还是通过这个configure文件做配置,它核心是使用meson描述依赖关系,但是转而 使用make做构建,它使用类似Linux内核的Kconfig文件,但是没有图形化的配置接口,除此 之外,它还有很多CONFIG项,你想hack一下都不知道它在哪里配置。本文分析qemu编译系统, 梳理其中的基础逻辑,分析基于qemu v7.1.50代码。

阅读全文 »