qemu-参数解析
程序员文章站
2022-07-07 20:11:22
qemu参数解析工作分为两部分1: 参数合法性验证。2 参数名称和值的解析。参数合法性验证主要是预先声明支持的参数信息,这些信息使用QEMUOption数据结构进行描述, 如下:typedef struct QEMUOption { const char *name; int flags; int index; uint32_t arch_mask;} QEMUOption;name代表参数名称, 比如-m 512 , m就表示这个name。flags目前只...
启动命令:
gdb –args /usr/bin/bin/qemu-system-x86_64 linux-0.2.img -m 512 -enable-kvm -smp 1,sockets=1,cores=1,threads=1 -realtime mlock=off -device ivshmem,shm=ivshmem,size=1 -device ivshmem,shm=ivshmem1,size=2
解析后的数据结构如下:
struct QemuOptsList {
const char *name;
const char *implied_opt_name;
bool merge_lists; /* Merge multiple uses of option into a single list? */
QTAILQ_HEAD(, QemuOpts) head;
QemuOptDesc desc[];
};
struct QemuOpts {
char *id;
QemuOptsList *list;
Location loc;
QTAILQ_HEAD(, QemuOpt) head;
QTAILQ_ENTRY(QemuOpts) next;
};
struct QemuOpt {
char *name;
char *str;
const QemuOptDesc *desc;
union {
bool boolean;
uint64_t uint;
} value;
QemuOpts *opts;
QTAILQ_ENTRY(QemuOpt) next;
};
主要api都在util/qemu-option.c 文件
参考: http://terenceli.github.io/%E6%8A%80%E6%9C%AF/2015/09/26/qemu-options
本文地址:https://blog.csdn.net/woai110120130/article/details/107169226
下一篇: 简单易懂的AXI_Lite 总线详解