Skip to contentSkip to conversation

qemu-kvm: Fix default machine options

PATCH Applied Jan Kiszka 3 participants 3 messages Jul 6, 2012 – Jul 12, 2012 KVM

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

PATCH 1/1 qemu-kvm: Fix default machine options

qemu-kvm-specific machine defaults were missing for pc-0.15 to pc-1.1. Then Daniel noted that --disable-kvm caused problems as the generated binaries would be unable to run. As we are at it, we can drop the kernel_irqchip=on that is now enable by default in upstream.

CC Daniel P. Berrange <[email protected]>

---

Noticed that there was more to do. Can you take care of stable-1.1, Daniel? TIA.

 hw/pc_piix.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)
hw/pc_piix.c +16 -7
index 98a06fa..5860d52 100644
@@ -353,6 +353,12 @@ static void pc_xen_hvm_init(ram_addr_t ram_size,
 }
 #endif
 
+#ifdef CONFIG_KVM_OPTIONS
+#define KVM_MACHINE_OPTIONS "accel=kvm"
+#else
+#define KVM_MACHINE_OPTIONS ""
+#endif
+
 static QEMUMachine pc_machine_v1_2 = {
     .name = "pc-1.2",
     .alias = "pc",
@@ -360,7 +366,7 @@ static QEMUMachine pc_machine_v1_2 = {
     .init = pc_init_pci,
     .max_cpus = 255,
     .is_default = 1,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
 };
 
 #define PC_COMPAT_1_1 \
@@ -387,6 +393,7 @@ static QEMUMachine pc_machine_v1_1 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_1,
         { /* end of list */ }
@@ -422,6 +429,7 @@ static QEMUMachine pc_machine_v1_0 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_0,
         { /* end of list */ }
@@ -437,6 +445,7 @@ static QEMUMachine pc_machine_v0_15 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_15,
         { /* end of list */ }
@@ -469,7 +478,7 @@ static QEMUMachine pc_machine_v0_14 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_14, 
         {
@@ -503,7 +512,7 @@ static QEMUMachine pc_machine_v0_13 = {
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_13,
         {
@@ -541,7 +550,7 @@ static QEMUMachine pc_machine_v0_12 = {
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_12,
         {
@@ -575,7 +584,7 @@ static QEMUMachine pc_machine_v0_11 = {
     .desc = "Standard PC, qemu 0.11",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
@@ -597,7 +606,7 @@ static QEMUMachine pc_machine_v0_10 = {
     .desc = "Standard PC, qemu 0.10",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
@@ -631,7 +640,7 @@ static QEMUMachine isapc_machine = {
     .desc = "ISA-only PC",
     .init = pc_init_isa,
     .max_cpus = 1,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         {
             .driver   = "pc-sysfw",
Signature · 1 line
1.7.3.4
#1 lore raw
Quoted 7 lines · Jan Kiszka

qemu-kvm-specific machine defaults were missing for pc-0.15 to pc-1.1. Then Daniel noted that --disable-kvm caused problems as the generated binaries would be unable to run. As we are at it, we can drop the kernel_irqchip=on that is now enable by default in upstream.

CC Daniel P. Berrange <[email protected]>

ACK, looks good to me.

Quoted 2 lines

Noticed that there was more to do. Can you take care of stable-1.1, Daniel? TIA.

Yep, will post a patch for stable-1.1 when this is accepted into master.

Quoted 109 lines
 hw/pc_piix.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)
hw/pc_piix.c +16 -7
index 98a06fa..5860d52 100644
@@ -353,6 +353,12 @@ static void pc_xen_hvm_init(ram_addr_t ram_size,
 }
 #endif
 
+#ifdef CONFIG_KVM_OPTIONS
+#define KVM_MACHINE_OPTIONS "accel=kvm"
+#else
+#define KVM_MACHINE_OPTIONS ""
+#endif
+
 static QEMUMachine pc_machine_v1_2 = {
     .name = "pc-1.2",
     .alias = "pc",
@@ -360,7 +366,7 @@ static QEMUMachine pc_machine_v1_2 = {
     .init = pc_init_pci,
     .max_cpus = 255,
     .is_default = 1,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
 };
 
 #define PC_COMPAT_1_1 \
@@ -387,6 +393,7 @@ static QEMUMachine pc_machine_v1_1 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_1,
         { /* end of list */ }
@@ -422,6 +429,7 @@ static QEMUMachine pc_machine_v1_0 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_0,
         { /* end of list */ }
@@ -437,6 +445,7 @@ static QEMUMachine pc_machine_v0_15 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_15,
         { /* end of list */ }
@@ -469,7 +478,7 @@ static QEMUMachine pc_machine_v0_14 = {
     .desc = "Standard PC",
     .init = pc_init_pci,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_14, 
         {
@@ -503,7 +512,7 @@ static QEMUMachine pc_machine_v0_13 = {
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_13,
         {
@@ -541,7 +550,7 @@ static QEMUMachine pc_machine_v0_12 = {
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_12,
         {
@@ -575,7 +584,7 @@ static QEMUMachine pc_machine_v0_11 = {
     .desc = "Standard PC, qemu 0.11",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
@@ -597,7 +606,7 @@ static QEMUMachine pc_machine_v0_10 = {
     .desc = "Standard PC, qemu 0.10",
     .init = pc_init_pci_no_kvmclock,
     .max_cpus = 255,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
@@ -631,7 +640,7 @@ static QEMUMachine isapc_machine = {
     .desc = "ISA-only PC",
     .init = pc_init_isa,
     .max_cpus = 1,
-    .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+    .default_machine_opts = KVM_MACHINE_OPTIONS,
     .compat_props = (GlobalProperty[]) {
         {
             .driver   = "pc-sysfw",
Signature · 1 line
1.7.3.4

Daniel

Signature · 4 lines
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|
Applied
#2 lore raw
In reply to Jan Kiszka
Quoted 4 lines · Jan Kiszka

qemu-kvm-specific machine defaults were missing for pc-0.15 to pc-1.1. Then Daniel noted that --disable-kvm caused problems as the generated binaries would be unable to run. As we are at it, we can drop the kernel_irqchip=on that is now enable by default in upstream.

Thanks, applied.

Signature · 1 line
error compiling committee.c: too many arguments to function