接前一篇文章:QEMU源码全解析1 —— QEMU参数解析(1)
本文内容参考:
《趣谈Linux操作系统》 —— 刘超,极客时间
《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社
特此致谢!
上回说到如此多的参数是如何被QEMU解析的,本节就来看一下具体的解析过程。
QEMU使用QEMUOption来表示QEMU程序的参数选项,QEMUOption的定义也是在softmmu/vl.c中,代码如下:
typedef struct QEMUOption {
const char *name;
int flags;
int index;
uint32_t arch_mask;
} QEMUOption;
其中:
- name:表示参数选项的名称。
- flags:表示选项中一些参数选项的属性,比如是否有子参数。
- arch_mask表示参数支持的体系结构。
softmmu/vl.c在全局范围内定义了一个QEMUOption结构的变量qemu_options,存储了所有的可用选项,代码如下:
static const QEMUOp