|
|
218e99 |
From fce3651ee99dd18501b9302d72cd8c0af098a235 Mon Sep 17 00:00:00 2001
|
|
|
218e99 |
From: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
218e99 |
Date: Wed, 31 Jul 2013 08:05:58 +0200
|
|
|
218e99 |
Subject: pc: Add machine type "rhel6.4.0"
|
|
|
218e99 |
|
|
|
218e99 |
Message-id: <1375201922-6794-14-git-send-email-armbru@redhat.com>
|
|
|
218e99 |
Patchwork-id: 52820
|
|
|
218e99 |
O-Subject: [RHEL-7 PATCH v3 13/15] pc: Add machine type "rhel6.4.0"
|
|
|
218e99 |
Bugzilla: 983991
|
|
|
218e99 |
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Bandan Das <bsd@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
218e99 |
|
|
|
218e99 |
Match RHEL-6's set_cpu_model_level() by equivalent compat_props model
|
|
|
218e99 |
and level.
|
|
|
218e99 |
|
|
|
218e99 |
Match RHEL-6's compat_props qxl.revision, qxl-vga.revision,
|
|
|
218e99 |
virtio-scsi-pci.hotplug, virtio-scsi-pci.param_change.
|
|
|
218e99 |
|
|
|
218e99 |
RHEL-6's non-upstream USB.create_unique_serial will be covered
|
|
|
218e99 |
separately (either bug 953304 or a new one).
|
|
|
218e99 |
|
|
|
218e99 |
RHEL-6's non-upstream isa-fdc.migrate_dir isn't needed. RHEL-6 has it
|
|
|
218e99 |
to enable migration back to RHEL-6.3 (see qemu-kvm-rhel6 commit
|
|
|
218e99 |
a214015), which isn't relevant in RHEL-7.
|
|
|
218e99 |
|
|
|
218e99 |
Match RHEL-6's non-upstream e1000.x-__com_redhat_rhel630_compat by
|
|
|
218e99 |
upstream's e1000.autonegotiation, as follows.
|
|
|
218e99 |
|
|
|
218e99 |
Upstream commit 2af234e disables auto-negotiation for older machine
|
|
|
218e99 |
types, by defining property e1000.autonegotiation and putting it into
|
|
|
218e99 |
suitable compat_props. The corresponding RHEL-6 commit da4452c does
|
|
|
218e99 |
not add this property. Instead, it reuses
|
|
|
218e99 |
e1000.x-__com_redhat_rhel630_compat, with the sense reverted. This
|
|
|
218e99 |
turns autonegotiation off for rhel6.3.0 and older.
|
|
|
218e99 |
|
|
|
218e99 |
RHEL-7 inherits the upstream solution. We need to set
|
|
|
218e99 |
e1000.autonegotiation for exactly the machine types where
|
|
|
218e99 |
e1000.x-__com_redhat_rhel630_compat is on in RHEL-6, namely rhel6.3.0
|
|
|
218e99 |
and older.
|
|
|
218e99 |
|
|
|
218e99 |
Match RHEL-6's disable_kvm_pv_eoi().
|
|
|
218e99 |
|
|
|
218e99 |
Match RHEL-6's compat_contiguous_apic_ids by upstream's
|
|
|
218e99 |
enable_compat_apic_id_mode().
|
|
|
218e99 |
|
|
|
218e99 |
RHEL-6's set_pmu_passthrough() and disable_tsc_deadline() will be
|
|
|
218e99 |
covered separately (bug 918907).
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Markus Armbruster <armbru@redhat.com>
|
|
|
218e99 |
|
|
|
218e99 |
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
|
|
|
218e99 |
index dff2543..a922645 100644
|
|
|
218e99 |
--- a/hw/i386/pc_piix.c
|
|
|
218e99 |
+++ b/hw/i386/pc_piix.c
|
|
|
218e99 |
@@ -777,32 +777,8 @@ static QEMUMachine pc_machine_rhel700 = {
|
|
|
218e99 |
DEFAULT_MACHINE_OPTIONS,
|
|
|
218e99 |
};
|
|
|
218e99 |
|
|
|
218e99 |
-#define PC_RHEL6_3_COMPAT \
|
|
|
218e99 |
+#define PC_RHEL6_4_COMPAT \
|
|
|
218e99 |
{\
|
|
|
218e99 |
- .driver = "Conroe-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "model",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "Conroe-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "level",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "Penryn-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "model",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "Penryn-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "level",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "Nehalem-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "model",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "Nehalem-" TYPE_X86_CPU,\
|
|
|
218e99 |
- .property = "level",\
|
|
|
218e99 |
- .value = stringify(2),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
.driver = "scsi-hd",\
|
|
|
218e99 |
.property = "discard_granularity",\
|
|
|
218e99 |
.value = stringify(0),\
|
|
|
218e99 |
@@ -864,30 +840,10 @@ static QEMUMachine pc_machine_rhel700 = {
|
|
|
218e99 |
.property = "mq",\
|
|
|
218e99 |
.value = "off",\
|
|
|
218e99 |
},{\
|
|
|
218e99 |
- .driver = "e1000",\
|
|
|
218e99 |
- .property = "autonegotiation",\
|
|
|
218e99 |
- .value = "off",\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "qxl",\
|
|
|
218e99 |
- .property = "revision",\
|
|
|
218e99 |
- .value = stringify(3),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "qxl-vga",\
|
|
|
218e99 |
- .property = "revision",\
|
|
|
218e99 |
- .value = stringify(3),\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
.driver = "VGA",\
|
|
|
218e99 |
.property = "mmio",\
|
|
|
218e99 |
.value = "off",\
|
|
|
218e99 |
},{\
|
|
|
218e99 |
- .driver = "virtio-scsi-pci",\
|
|
|
218e99 |
- .property = "hotplug",\
|
|
|
218e99 |
- .value = "off",\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
- .driver = "virtio-scsi-pci",\
|
|
|
218e99 |
- .property = "param_change",\
|
|
|
218e99 |
- .value = "off",\
|
|
|
218e99 |
- },{\
|
|
|
218e99 |
.driver = "virtio-blk-pci",\
|
|
|
218e99 |
.property = "config-wce",\
|
|
|
218e99 |
.value = "off",\
|
|
|
218e99 |
@@ -909,12 +865,77 @@ static QEMUMachine pc_machine_rhel700 = {
|
|
|
218e99 |
.value = stringify(1),\
|
|
|
218e99 |
}
|
|
|
218e99 |
|
|
|
218e99 |
-static void pc_init_rhel630(QEMUMachineInitArgs *args)
|
|
|
218e99 |
+static void pc_init_rhel640(QEMUMachineInitArgs *args)
|
|
|
218e99 |
{
|
|
|
218e99 |
has_pvpanic = false;
|
|
|
218e99 |
+ pc_init_rhel700(args);
|
|
|
218e99 |
+}
|
|
|
218e99 |
+
|
|
|
218e99 |
+static QEMUMachine pc_machine_rhel640 = {
|
|
|
218e99 |
+ .name = "rhel6.4.0",
|
|
|
218e99 |
+ .desc = "RHEL 6.4.0 PC",
|
|
|
218e99 |
+ .init = pc_init_rhel640,
|
|
|
218e99 |
+ .max_cpus = 255,
|
|
|
218e99 |
+ .compat_props = (GlobalProperty[]) {
|
|
|
218e99 |
+ PC_RHEL6_4_COMPAT,
|
|
|
218e99 |
+ { /* end of list */ }
|
|
|
218e99 |
+ },
|
|
|
218e99 |
+ DEFAULT_MACHINE_OPTIONS,
|
|
|
218e99 |
+};
|
|
|
218e99 |
+
|
|
|
218e99 |
+#define PC_RHEL6_3_COMPAT \
|
|
|
218e99 |
+ PC_RHEL6_4_COMPAT,\
|
|
|
218e99 |
+ {\
|
|
|
218e99 |
+ .driver = "Conroe-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "model",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "Conroe-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "level",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "Penryn-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "model",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "Penryn-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "level",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "Nehalem-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "model",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "Nehalem-" TYPE_X86_CPU,\
|
|
|
218e99 |
+ .property = "level",\
|
|
|
218e99 |
+ .value = stringify(2),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "e1000",\
|
|
|
218e99 |
+ .property = "autonegotiation",\
|
|
|
218e99 |
+ .value = "off",\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "qxl",\
|
|
|
218e99 |
+ .property = "revision",\
|
|
|
218e99 |
+ .value = stringify(3),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "qxl-vga",\
|
|
|
218e99 |
+ .property = "revision",\
|
|
|
218e99 |
+ .value = stringify(3),\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "virtio-scsi-pci",\
|
|
|
218e99 |
+ .property = "hotplug",\
|
|
|
218e99 |
+ .value = "off",\
|
|
|
218e99 |
+ },{\
|
|
|
218e99 |
+ .driver = "virtio-scsi-pci",\
|
|
|
218e99 |
+ .property = "param_change",\
|
|
|
218e99 |
+ .value = "off",\
|
|
|
218e99 |
+ }
|
|
|
218e99 |
+
|
|
|
218e99 |
+static void pc_init_rhel630(QEMUMachineInitArgs *args)
|
|
|
218e99 |
+{
|
|
|
218e99 |
disable_kvm_pv_eoi();
|
|
|
218e99 |
enable_compat_apic_id_mode();
|
|
|
218e99 |
- pc_init_rhel700(args);
|
|
|
218e99 |
+ pc_init_rhel640(args);
|
|
|
218e99 |
}
|
|
|
218e99 |
|
|
|
218e99 |
static QEMUMachine pc_machine_rhel630 = {
|
|
|
218e99 |
@@ -1030,6 +1051,7 @@ static QEMUMachine pc_machine_rhel600 = {
|
|
|
218e99 |
static void rhel_machine_init(void)
|
|
|
218e99 |
{
|
|
|
218e99 |
qemu_register_machine(&pc_machine_rhel700);
|
|
|
218e99 |
+ qemu_register_machine(&pc_machine_rhel640);
|
|
|
218e99 |
qemu_register_machine(&pc_machine_rhel630);
|
|
|
218e99 |
qemu_register_machine(&pc_machine_rhel620);
|
|
|
218e99 |
qemu_register_machine(&pc_machine_rhel610);
|