[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 9/9] Add -kvm option
From: |
Glauber Costa |
Subject: |
[Qemu-devel] [PATCH v2 9/9] Add -kvm option |
Date: |
Wed, 7 Oct 2009 19:08:35 -0300 |
This option deprecates --enable-kvm. It is a more flexible option,
that makes use of qemu-opts, and allow us to pass on options to enable or
disable kernel irqchip, for example.
Signed-off-by: Glauber Costa <address@hidden>
---
kvm-all.c | 1 +
kvm.h | 1 +
qemu-config.c | 16 ++++++++++++++++
qemu-config.h | 1 +
qemu-options.hx | 13 +++++++++----
vl.c | 11 +++++++++++
6 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index f33354d..b31d085 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -51,6 +51,7 @@ typedef struct KVMSlot
typedef struct kvm_dirty_log KVMDirtyLog;
int kvm_allowed = 0;
+int kvm_use_kernel_chip = 0;
struct KVMState
{
diff --git a/kvm.h b/kvm.h
index f0c9201..49a2b56 100644
--- a/kvm.h
+++ b/kvm.h
@@ -20,6 +20,7 @@
#ifdef CONFIG_KVM
extern int kvm_allowed;
+extern int kvm_use_kernel_chip;
#define kvm_enabled() (kvm_allowed)
#else
diff --git a/qemu-config.c b/qemu-config.c
index bafaea2..9461766 100644
--- a/qemu-config.c
+++ b/qemu-config.c
@@ -184,12 +184,28 @@ QemuOptsList qemu_rtc_opts = {
},
};
+QemuOptsList qemu_kvm_opts = {
+ .name = "kvm",
+ .head = QTAILQ_HEAD_INITIALIZER(qemu_kvm_opts.head),
+ .desc = {
+ {
+ .name = "irqchip-in-kernel",
+ .type = QEMU_OPT_BOOL,
+ },{
+ .name = "enabled",
+ .type = QEMU_OPT_BOOL,
+ },
+ { /* end if list */ }
+ },
+};
+
static QemuOptsList *lists[] = {
&qemu_drive_opts,
&qemu_chardev_opts,
&qemu_device_opts,
&qemu_net_opts,
&qemu_rtc_opts,
+ &qemu_kvm_opts,
NULL,
};
diff --git a/qemu-config.h b/qemu-config.h
index cdad5ac..58cead2 100644
--- a/qemu-config.h
+++ b/qemu-config.h
@@ -6,6 +6,7 @@ extern QemuOptsList qemu_chardev_opts;
extern QemuOptsList qemu_device_opts;
extern QemuOptsList qemu_net_opts;
extern QemuOptsList qemu_rtc_opts;
+extern QemuOptsList qemu_kvm_opts;
int qemu_set_option(const char *str);
diff --git a/qemu-options.hx b/qemu-options.hx
index 3dd76b3..1cb8431 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1431,15 +1431,20 @@ Set the filename for the BIOS.
ETEXI
#ifdef CONFIG_KVM
-DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \
- "-enable-kvm enable KVM full virtualization support\n")
-#endif
+HXCOMM Options deprecated by -kvm
+DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, "")
+
+DEF("kvm", HAS_ARG, QEMU_OPTION_kvm, \
+ "-kvm enable=on|off,irqchip-in-kernel=on|off\n" \
+ " enable KVM full virtualization support\n")
STEXI
address@hidden -enable-kvm
address@hidden -kvm [enable=on|off][,irqchip-in-kernel=on|off]
Enable KVM full virtualization support. This option is only available
if KVM support is enabled when compiling.
ETEXI
+#endif
+
#ifdef CONFIG_XEN
DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid,
"-xen-domid id specify xen guest domain id\n")
diff --git a/vl.c b/vl.c
index afe01af..a6f9eb7 100644
--- a/vl.c
+++ b/vl.c
@@ -5353,6 +5353,17 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_enable_kvm:
kvm_allowed = 1;
break;
+ case QEMU_OPTION_kvm:
+
+ opts = qemu_opts_parse(&qemu_kvm_opts, optarg, NULL);
+ if (!opts) {
+ fprintf(stderr, "parse error: %s\n", optarg);
+ exit(1);
+ }
+
+ kvm_allowed = qemu_opt_get_bool(opts, "enabled", 1);
+ kvm_use_kernel_chip = qemu_opt_get_bool(opts,
"irqchip-in-kernel", 1);
+ break;
#endif
case QEMU_OPTION_usb:
usb_enabled = 1;
--
1.6.2.5
- [Qemu-devel] [PATCH v2] Add in-kernel irqchip, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 1/9] add base-addr field to io apic state, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 2/9] Save missing fields in VMState, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 3/9] provide in-kernel ioapic, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 4/9] provide in-kernel apic, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 5/9] provide apic_set_irq_delivered, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 6/9] provide in-kernel i8259 chip, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 7/9] initialize i8259 chip, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 8/9] Initialize in-kernel irqchip, Glauber Costa, 2009/10/07
- [Qemu-devel] [PATCH v2 9/9] Add -kvm option,
Glauber Costa <=
- [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Anthony Liguori, 2009/10/07
- [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Glauber Costa, 2009/10/07
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Anthony Liguori, 2009/10/07
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Gerd Hoffmann, 2009/10/12
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Anthony Liguori, 2009/10/12
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Gerd Hoffmann, 2009/10/12
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Anthony Liguori, 2009/10/12
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Gerd Hoffmann, 2009/10/13
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Anthony Liguori, 2009/10/13
- Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option, Markus Armbruster, 2009/10/13