mirror of
https://github.com/qemu/qemu.git
synced 2025-01-19 20:13:27 +08:00
machine, Add default_machine_opts to QEMUMachine.
With this new field, we can specified which accelerator use to run the machine, if the accelerator is not already specified by either a configuration file or the command line options. Currently, the only use will be made in the xenfv machine. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
303d4e865b
commit
67b724e69e
@ -27,6 +27,7 @@ typedef struct QEMUMachine {
|
||||
no_cdrom:1,
|
||||
no_sdcard:1;
|
||||
int is_default;
|
||||
const char *default_machine_opts;
|
||||
GlobalProperty *compat_props;
|
||||
struct QEMUMachine *next;
|
||||
} QEMUMachine;
|
||||
|
22
vl.c
22
vl.c
@ -2914,6 +2914,28 @@ int main(int argc, char **argv, char **envp)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the default machine options from the machine if it is not already
|
||||
* specified either by the configuration file or by the command line.
|
||||
*/
|
||||
if (machine->default_machine_opts) {
|
||||
QemuOptsList *list = qemu_find_opts("machine");
|
||||
const char *p = NULL;
|
||||
|
||||
if (!QTAILQ_EMPTY(&list->head)) {
|
||||
p = qemu_opt_get(QTAILQ_FIRST(&list->head), "accel");
|
||||
}
|
||||
if (p == NULL) {
|
||||
opts = qemu_opts_parse(qemu_find_opts("machine"),
|
||||
machine->default_machine_opts, 0);
|
||||
if (!opts) {
|
||||
fprintf(stderr, "parse error for machine %s: %s\n",
|
||||
machine->name, machine->default_machine_opts);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
qemu_opts_foreach(qemu_find_opts("device"), default_driver_check, NULL, 0);
|
||||
qemu_opts_foreach(qemu_find_opts("global"), default_driver_check, NULL, 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user