[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/1] Add usb option in machine options.
From: |
zhlcindy |
Subject: |
[Qemu-devel] [PATCH 1/1] Add usb option in machine options. |
Date: |
Thu, 14 Jun 2012 13:17:19 +0800 |
From: Li Zhang <address@hidden>
For pseries machine, it needs to enable usb
to add kbd or usb mouse. -usb option won't
be used in the future, and machine options
is a better way to enable usb.
So this patch is to add usb option to machine
options (-machine type=psereis,usb=on/off)
to enable/disable usb controller.
In this patch, usb_opt is an global option
which can be checked by machines. For example,
on pseries, it will check if usb_opt is on, if
it is on, it will create one usb ohci controller.
As the following:
if (usb_opts && strcmp(usb_opts, "on") == 0)
pci_create_simple(bus, -1, "pci-ohci");
In this patch, usb is on by default.
So, for -nodefault, usb should be set off in the
command line as the following:
-machine type=pseries,usb=off.
Signed-off-by: Li Zhang <address@hidden>
reviewed-by: Anthony Liguori <address@hidden>
reviewed-by: Benjamin Herrenschmidt <address@hidden>
---
qemu-config.c | 4 ++++
sysemu.h | 1 +
vl.c | 12 ++++++++++++
3 files changed, 17 insertions(+)
diff --git a/qemu-config.c b/qemu-config.c
index bb3bff4..258712a 100644
--- a/qemu-config.c
+++ b/qemu-config.c
@@ -583,6 +583,10 @@ static QemuOptsList qemu_machine_opts = {
.name = "dtb",
.type = QEMU_OPT_STRING,
.help = "Linux kernel device tree file",
+ }, {
+ .name = "usb",
+ .type = QEMU_OPT_BOOL,
+ .help = "Set on/off to enable/disable usb",
},
{ /* End of list */ }
},
diff --git a/sysemu.h b/sysemu.h
index bc2c788..c5ea10d 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -13,6 +13,7 @@
/* vl.c */
extern const char *bios_name;
+extern const char *usb_opt;
extern const char *qemu_name;
extern uint8_t qemu_uuid[];
diff --git a/vl.c b/vl.c
index 204d85b..10f8e4c 100644
--- a/vl.c
+++ b/vl.c
@@ -171,6 +171,7 @@ int main(int argc, char **argv)
static const char *data_dir;
const char *bios_name = NULL;
+const char *usb_opt = NULL;
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
DisplayType display_type = DT_DEFAULT;
int display_remote = 0;
@@ -758,6 +759,15 @@ static int bt_parse(const char *opt)
return 1;
}
+static int default_enable_usb(QemuOpts *opts)
+{
+ if (NULL == qemu_opt_get(opts, "usb")) {
+ qemu_opt_set(opts, "usb", "on");
+ }
+
+ return 0;
+}
+
/***********************************************************/
/* QEMU Block devices */
@@ -3356,6 +3366,8 @@ int main(int argc, char **argv, char **envp)
kernel_filename = qemu_opt_get(machine_opts, "kernel");
initrd_filename = qemu_opt_get(machine_opts, "initrd");
kernel_cmdline = qemu_opt_get(machine_opts, "append");
+ default_enable_usb(machine_opts);
+ usb_opt = qemu_opt_get(machine_opts, "usb");
} else {
kernel_filename = initrd_filename = kernel_cmdline = NULL;
}
--
1.7.9.5
- [Qemu-devel] [PATCH 1/1] Add usb option in machine options.,
zhlcindy <=
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Andreas Färber, 2012/06/14
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Benjamin Herrenschmidt, 2012/06/14
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Li Zhang, 2012/06/14
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Andreas Färber, 2012/06/15
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Li Zhang, 2012/06/15
- Re: [Qemu-devel] [PATCH 1/1] Add usb option in machine options., Alexander Graf, 2012/06/28