9ae3a8
From 26e8594d99236281d19435ba40c323665ca21bcd Mon Sep 17 00:00:00 2001
9ae3a8
From: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
Date: Wed, 31 Jul 2013 08:05:31 +0200
9ae3a8
Subject: pc: Add machine type "rhel6.2.0"
9ae3a8
9ae3a8
Message-id: <1375201922-6794-12-git-send-email-armbru@redhat.com>
9ae3a8
Patchwork-id: 52823
9ae3a8
O-Subject: [RHEL-7 PATCH v3 11/15] pc: Add machine type "rhel6.2.0"
9ae3a8
Bugzilla: 983991
9ae3a8
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
RH-Acked-by: Bandan Das <bsd@redhat.com>
9ae3a8
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
9ae3a8
Match RHEL-6's compat_props qxl.revision,
9ae3a8
qxl-vga.revision. virtio-blk-pci.event_idx,
9ae3a8
virtio-serial-pci.event_idx, virtio-net-pci.event_idx,
9ae3a8
virtio-balloon-pci.event_idx.
9ae3a8
9ae3a8
RHEL-6's non-upstream hda-duplex.mcompat, hda-micro.mcompat,
9ae3a8
hda-output.mcompat aren't needed.  RHEL-6 has them to enable migration
9ae3a8
back to RHEL-6.1 (see qemu-kvm-rhel6 commit d619762), which isn't
9ae3a8
relevant in RHEL-7.
9ae3a8
9ae3a8
Non-upstream usb-tablet.migrate, usb-mouse.migrate, usb-kbd.migrate
9ae3a8
will be covered separately (bug 953304).
9ae3a8
9ae3a8
PIIX4_PM.disable_s3, PIIX4_PM.disable_s4 will be covered separately
9ae3a8
(bug 980840).
9ae3a8
9ae3a8
Signed-off-by: Markus Armbruster <armbru@redhat.com>
9ae3a8
9ae3a8
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
9ae3a8
index 4ab39cd..eaf3af1 100644
9ae3a8
--- a/hw/i386/pc_piix.c
9ae3a8
+++ b/hw/i386/pc_piix.c
9ae3a8
@@ -777,7 +777,7 @@ static QEMUMachine pc_machine_rhel700 = {
9ae3a8
     DEFAULT_MACHINE_OPTIONS,
9ae3a8
 };
9ae3a8
 
9ae3a8
-#define PC_RHEL6_1_COMPAT \
9ae3a8
+#define PC_RHEL6_2_COMPAT \
9ae3a8
     {\
9ae3a8
         .driver   = "Conroe-" TYPE_X86_CPU,\
9ae3a8
         .property = "model",\
9ae3a8
@@ -870,11 +870,11 @@ static QEMUMachine pc_machine_rhel700 = {
9ae3a8
     },{\
9ae3a8
         .driver   = "qxl",\
9ae3a8
         .property = "revision",\
9ae3a8
-        .value    = stringify(2),\
9ae3a8
+        .value    = stringify(3),\
9ae3a8
     },{\
9ae3a8
         .driver   = "qxl-vga",\
9ae3a8
         .property = "revision",\
9ae3a8
-        .value    = stringify(2),\
9ae3a8
+        .value    = stringify(3),\
9ae3a8
     },{\
9ae3a8
         .driver   = "VGA",\
9ae3a8
         .property = "mmio",\
9ae3a8
@@ -900,6 +900,46 @@ static QEMUMachine pc_machine_rhel700 = {
9ae3a8
         .property = "class",\
9ae3a8
         .value    = stringify(PCI_CLASS_MEMORY_RAM),\
9ae3a8
     },{\
9ae3a8
+        .driver   = TYPE_PCI_DEVICE,\
9ae3a8
+        .property = "command_serr_enable",\
9ae3a8
+        .value    = "off",\
9ae3a8
+    },{\
9ae3a8
+        .driver   = "AC97",\
9ae3a8
+        .property = "use_broken_id",\
9ae3a8
+        .value    = stringify(1),\
9ae3a8
+    }
9ae3a8
+
9ae3a8
+static void pc_init_rhel620(QEMUMachineInitArgs *args)
9ae3a8
+{
9ae3a8
+    has_pvpanic = false;
9ae3a8
+    disable_kvm_pv_eoi();
9ae3a8
+    enable_compat_apic_id_mode();
9ae3a8
+    pc_init_rhel700(args);
9ae3a8
+}
9ae3a8
+
9ae3a8
+static QEMUMachine pc_machine_rhel620 = {
9ae3a8
+    .name = "rhel6.2.0",
9ae3a8
+    .desc = "RHEL 6.2.0 PC",
9ae3a8
+    .init = pc_init_rhel620,
9ae3a8
+    .max_cpus = 255,
9ae3a8
+    .compat_props = (GlobalProperty[]) {
9ae3a8
+        PC_RHEL6_2_COMPAT,
9ae3a8
+        { /* end of list */ }
9ae3a8
+    },
9ae3a8
+    DEFAULT_MACHINE_OPTIONS,
9ae3a8
+};
9ae3a8
+
9ae3a8
+#define PC_RHEL6_1_COMPAT \
9ae3a8
+    PC_RHEL6_2_COMPAT,\
9ae3a8
+    {\
9ae3a8
+        .driver   = "qxl",\
9ae3a8
+        .property = "revision",\
9ae3a8
+        .value    = stringify(2),\
9ae3a8
+    },{\
9ae3a8
+        .driver   = "qxl-vga",\
9ae3a8
+        .property = "revision",\
9ae3a8
+        .value    = stringify(2),\
9ae3a8
+    },{\
9ae3a8
         .driver   = "virtio-blk-pci",\
9ae3a8
         .property = "event_idx",\
9ae3a8
         .value    = "off",\
9ae3a8
@@ -915,22 +955,11 @@ static QEMUMachine pc_machine_rhel700 = {
9ae3a8
         .driver   = "virtio-balloon-pci",\
9ae3a8
         .property = "event_idx",\
9ae3a8
         .value    = "off",\
9ae3a8
-    },{\
9ae3a8
-        .driver   = TYPE_PCI_DEVICE,\
9ae3a8
-        .property = "command_serr_enable",\
9ae3a8
-        .value    = "off",\
9ae3a8
-    },{\
9ae3a8
-        .driver   = "AC97",\
9ae3a8
-        .property = "use_broken_id",\
9ae3a8
-        .value    = stringify(1),\
9ae3a8
     }
9ae3a8
 
9ae3a8
 static void pc_init_rhel610(QEMUMachineInitArgs *args)
9ae3a8
 {
9ae3a8
-    has_pvpanic = false;
9ae3a8
-    disable_kvm_pv_eoi();
9ae3a8
-    enable_compat_apic_id_mode();
9ae3a8
-    pc_init_rhel700(args);
9ae3a8
+    pc_init_rhel620(args);
9ae3a8
 }
9ae3a8
 
9ae3a8
 static QEMUMachine pc_machine_rhel610 = {
9ae3a8
@@ -981,6 +1010,7 @@ static QEMUMachine pc_machine_rhel600 = {
9ae3a8
 static void rhel_machine_init(void)
9ae3a8
 {
9ae3a8
     qemu_register_machine(&pc_machine_rhel700);
9ae3a8
+    qemu_register_machine(&pc_machine_rhel620);
9ae3a8
     qemu_register_machine(&pc_machine_rhel610);
9ae3a8
     qemu_register_machine(&pc_machine_rhel600);
9ae3a8
 }