[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 13/22] machine: get rid of global default QEMUMachin
From: |
Anthony Liguori |
Subject: |
[Qemu-devel] [PATCH 13/22] machine: get rid of global default QEMUMachine members |
Date: |
Mon, 7 Jun 2010 18:52:01 -0500 |
Right now, we have a lot of default device type options in the QEMUMachine
structure. This is used by code within vl.c to determine whether it should
add classes of devices (like serial).
Really, vl.c has no business adding devices but all we need to do to support
this is create common machine options to describe whether there are default
devices of each class. vl.c can then use that to determine whether to add
said devices.
Signed-off-by: Anthony Liguori <address@hidden>
diff --git a/hw/boards.h b/hw/boards.h
index e05637b..f33c44b 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -16,13 +16,6 @@ struct QEMUMachine {
QEMUMachineInitFunc *init;
int use_scsi;
int max_cpus;
- unsigned int no_serial:1,
- no_parallel:1,
- use_virtcon:1,
- no_vga:1,
- no_floppy:1,
- no_cdrom:1,
- no_sdcard:1;
int is_default;
QemuOptDesc *opts_desc;
QemuOptValue *opts_default;
@@ -43,29 +36,46 @@ extern QEMUMachine *current_machine;
{ \
.name = "driver", \
.type = QEMU_OPT_STRING, \
- }, \
- { \
+ },{ \
.name = "ram_size", \
.type = QEMU_OPT_SIZE, \
},{ \
.name = "kernel", \
.type = QEMU_OPT_STRING, \
- }, \
- { \
+ },{ \
.name = "cmdline", \
.type = QEMU_OPT_STRING, \
- }, \
- { \
+ },{ \
.name = "initrd", \
.type = QEMU_OPT_STRING, \
- }, \
- { \
+ },{ \
.name = "boot_device", \
.type = QEMU_OPT_STRING, \
- }, \
- { \
+ },{ \
.name = "cpu", \
.type = QEMU_OPT_STRING, \
+ },{ \
+ .name = "serial", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "parallel", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "virtcon", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "vga", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "floppy", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "cdrom", \
+ .type = QEMU_OPT_BOOL, \
+ },{ \
+ .name = "sdcard", \
+ .type = QEMU_OPT_BOOL, \
}
+
#endif
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 70b88df..e4d6ecd 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -273,9 +273,13 @@ static QEMUMachine s390_machine = {
.alias = "s390",
.desc = "VirtIO based S390 machine",
.init = s390_init,
- .no_serial = 1,
- .no_parallel = 1,
- .use_virtcon = 1,
+ .opts_default = (QemuOptValue[]) {
+ QOPT_VALUE("serial", "off"),
+ QOPT_VALUE("parallel", "off"),
+ QOPT_VALUE("virtcon", "on"),
+ QOPT_VALUE("vga", "off"),
+ { /* end of list */ }
+ },
.no_vga = 1,
.max_cpus = 255,
.is_default = 1,
diff --git a/vl.c b/vl.c
index 0a31a45..553da4d 100644
--- a/vl.c
+++ b/vl.c
@@ -3505,25 +3505,25 @@ int main(int argc, char **argv, char **envp)
qemu_opts_foreach(&qemu_device_opts, default_driver_check, NULL, 0);
qemu_opts_foreach(&qemu_global_opts, default_driver_check, NULL, 0);
- if (machine->no_serial) {
+ if (!qemu_opt_get_bool(machine_opts, "serial", 1)) {
default_serial = 0;
}
- if (machine->no_parallel) {
+ if (!qemu_opt_get_bool(machine_opts, "parallel", 1)) {
default_parallel = 0;
}
- if (!machine->use_virtcon) {
+ if (!qemu_opt_get_bool(machine_opts, "virtcon", 0)) {
default_virtcon = 0;
}
- if (machine->no_vga) {
+ if (!qemu_opt_get_bool(machine_opts, "vga", 1)) {
default_vga = 0;
}
- if (machine->no_floppy) {
+ if (!qemu_opt_get_bool(machine_opts, "floppy", 1)) {
default_floppy = 0;
}
- if (machine->no_cdrom) {
+ if (!qemu_opt_get_bool(machine_opts, "cdrom", 1)) {
default_cdrom = 0;
}
- if (machine->no_sdcard) {
+ if (!qemu_opt_get_bool(machine_opts, "sdcard", 1)) {
default_sdcard = 0;
}
--
1.7.0.4
- [Qemu-devel] [PATCH 07/22] machine: introduce -machine option, (continued)
- [Qemu-devel] [PATCH 05/22] machine: pass all init options as a single QemuOpts, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 11/22] machine: replace compat_props with opts_default, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 13/22] machine: get rid of global default QEMUMachine members,
Anthony Liguori <=
- [Qemu-devel] [PATCH 12/22] machine: some sugary macros to simplify machine default options, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 06/22] Make -acpi-enable a machine specific option, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 17/22] machine: kill machine->alias, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 16/22] machine: move default machine out of machine definitions, Anthony Liguori, 2010/06/07
- [Qemu-devel] [PATCH 15/22] machine: make max_cpus a -machine option, Anthony Liguori, 2010/06/07
- Re: [Qemu-devel] [PATCH 15/22] machine: make max_cpus a -machine option, Jes Sorensen, 2010/06/09