[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/4] machine: add default_devices field to QEMUMachi
From: |
Anthony Liguori |
Subject: |
[Qemu-devel] [PATCH 3/4] machine: add default_devices field to QEMUMachine |
Date: |
Fri, 26 Oct 2012 12:21:27 -0500 |
This allows a machine to describe default devices that are only available
when -nodefaults is not present.
Signed-off-by: Anthony Liguori <address@hidden>
---
hw/boards.h | 6 ++++++
vl.c | 13 +++++++++++++
2 files changed, 19 insertions(+)
diff --git a/hw/boards.h b/hw/boards.h
index 813d0e5..85b2887 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -18,6 +18,11 @@ typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
typedef void QEMUMachineResetFunc(void);
+typedef struct DeviceDescription {
+ const char *description;
+} DeviceDescription;
+
+
typedef struct QEMUMachine {
const char *name;
const char *alias;
@@ -37,6 +42,7 @@ typedef struct QEMUMachine {
GlobalProperty *compat_props;
struct QEMUMachine *next;
const char *hw_version;
+ DeviceDescription *default_devices;
} QEMUMachine;
int qemu_register_machine(QEMUMachine *m);
diff --git a/vl.c b/vl.c
index ffadbb6..f1285b8 100644
--- a/vl.c
+++ b/vl.c
@@ -276,6 +276,7 @@ static int default_floppy = 1;
static int default_cdrom = 1;
static int default_sdcard = 1;
static int default_vga = 1;
+static int nodefaults = 0;
static struct {
const char *driver;
@@ -3275,6 +3276,7 @@ int main(int argc, char **argv, char **envp)
default_cdrom = 0;
default_sdcard = 0;
default_vga = 0;
+ nodefaults = 1;
break;
case QEMU_OPTION_xen_domid:
if (!(xen_available())) {
@@ -3692,6 +3694,17 @@ int main(int argc, char **argv, char **envp)
}
qemu_add_globals();
+ if (!nodefaults && machine->default_devices) {
+ int i;
+
+ for (i = 0; machine->default_devices[i].description; i++) {
+ if (!qemu_opts_parse(qemu_find_opts("device"),
+ machine->default_devices[i].description, 1)) {
+ exit(1);
+ }
+ }
+ }
+
qdev_machine_init();
QEMUMachineInitArgs args = { .ram_size = ram_size,
--
1.8.0
[Qemu-devel] [PATCH 3/4] machine: add default_devices field to QEMUMachine,
Anthony Liguori <=
[Qemu-devel] [PATCH 4/4] pc-1.3: add virtio-rng and virtio-balloon to the default machine, Anthony Liguori, 2012/10/26
[Qemu-devel] [PATCH 1/4] rng-random: split out header for rng-random, Anthony Liguori, 2012/10/26