qemu-kvm/kvm-x86-machine-types-add-p...

104 lines
3.8 KiB
Diff

From 0784125ba3ccd72a590d210cf3f52d80e96b4263 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Wed, 31 Jul 2019 15:08:13 +0100
Subject: [PATCH 4/6] x86 machine types: add pc-q35-rhel8.1.0
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-id: <20190731150814.29571-5-dgilbert@redhat.com>
Patchwork-id: 89813
O-Subject: [RHEL-AV-8.1.0 qemu-kvm PATCH v3 4/5] x86 machine types: add pc-q35-rhel8.1.0
Bugzilla: 1719649
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Create the 8.1.0 machine type for q35 and update the _options
functions to keep compatibility.
Note:
We don't have to copy the kernel_irqchip_split from 4_0 since it
immediately got reverted in 4_0_1
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
hw/i386/pc_piix.c | 6 ++++++
hw/i386/pc_q35.c | 24 +++++++++++++++++++++++-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 3b9ba95..bf6b444 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -1051,9 +1051,15 @@ static void pc_init_rhel760(MachineState *machine)
static void pc_machine_rhel760_options(MachineClass *m)
{
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_machine_rhel7_options(m);
m->desc = "RHEL 7.6.0 PC (i440FX + PIIX, 1996)";
m->async_pf_vmexit_disable = true;
+ m->smbus_no_migration_support = true;
+ pcmc->pvh_enabled = false;
+ pcmc->default_cpu_version = CPU_VERSION_LEGACY;
+ compat_props_add(m->compat_props, hw_compat_rhel_8_0, hw_compat_rhel_8_0_len);
+ compat_props_add(m->compat_props, pc_rhel_8_0_compat, pc_rhel_8_0_compat_len);
compat_props_add(m->compat_props, hw_compat_rhel_7_6, hw_compat_rhel_7_6_len);
compat_props_add(m->compat_props, pc_rhel_7_6_compat, pc_rhel_7_6_compat_len);
}
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index edf8e54..b6d0bb3 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -554,6 +554,7 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
m->default_display = "std";
m->no_floppy = 1;
m->no_parallel = 1;
+ pcmc->default_cpu_version = 1;
machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE);
@@ -562,6 +563,20 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
compat_props_add(m->compat_props, pc_rhel_compat, pc_rhel_compat_len);
}
+static void pc_q35_init_rhel810(MachineState *machine)
+{
+ pc_q35_init(machine);
+}
+
+static void pc_q35_machine_rhel810_options(MachineClass *m)
+{
+ pc_q35_machine_rhel_options(m);
+ m->desc = "RHEL-8.1.0 PC (Q35 + ICH9, 2009)";
+}
+
+DEFINE_PC_MACHINE(q35_rhel810, "pc-q35-rhel8.1.0", pc_q35_init_rhel810,
+ pc_q35_machine_rhel810_options);
+
static void pc_q35_init_rhel800(MachineState *machine)
{
pc_q35_init(machine);
@@ -569,8 +584,15 @@ static void pc_q35_init_rhel800(MachineState *machine)
static void pc_q35_machine_rhel800_options(MachineClass *m)
{
- pc_q35_machine_rhel_options(m);
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
+ pc_q35_machine_rhel810_options(m);
m->desc = "RHEL-8.0.0 PC (Q35 + ICH9, 2009)";
+ m->smbus_no_migration_support = true;
+ m->alias = NULL;
+ pcmc->pvh_enabled = false;
+ pcmc->default_cpu_version = CPU_VERSION_LEGACY;
+ compat_props_add(m->compat_props, hw_compat_rhel_8_0, hw_compat_rhel_8_0_len);
+ compat_props_add(m->compat_props, pc_rhel_8_0_compat, pc_rhel_8_0_compat_len);
}
DEFINE_PC_MACHINE(q35_rhel800, "pc-q35-rhel8.0.0", pc_q35_init_rhel800,
--
1.8.3.1