Qemu作为一款开源的虚拟机,我们可以很容易的获取源码,并且有时我们希望能修改源码添加一些特性。但是为了保证稳定和可靠性,我们可以添加新命令来封装自定义的这些特性。(指qemu monitor中命令)
查了一些资料,发现Qemu还有HMP和QMP命令之分,这些我都没有详细考证,我只是修改了添加了HMP命令。不同版本的qemu可能需要修改的文件不同,我进行过0.12.5和1.5.3这两个版本的修改,后面将针对这两个版本分别介绍。(NOTE:看资料还有在hmp.h添加命令要调用函数的声明,但是我在savevm.c这个文件里添加的新函数,并没有在hmp.c中添加声明,我发现在monitor.c文件中定义的函数可以不用另行声明,而其他文件中的命令直接调用函数很多都在.h文件中声明,并且monitor.c文件添加了这个.h文件的引用。所以我大胆假设,命令调用的函数要么在monitor.c文件中定义,要么就需要在某个.h文件中声明并将这个.h文件#include在monitor.c里面。没有验证这个假设是否正确,有时间可以验证一下。如果添加失败这里是一个注意点,本人参考资料链接如下:引用)。
Qemu 0.12.5:
1.修改qemu-monitor.hx文件