From cb95a2dd9f549a4b7fcfac97b9a83c46a232d41e Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Tue, 8 Dec 2020 16:27:16 -0500 Subject: 8.4 x86 machine type RH-Author: Dr. David Alan Gilbert Message-id: <20201208162716.30836-4-dgilbert@redhat.com> Patchwork-id: 100362 O-Subject: [RHEL-av-8.4.0 qemu-kvm PATCH v2 3/3] 8.4 x86 machine type Bugzilla: 1885555 RH-Acked-by: Laszlo Ersek RH-Acked-by: Igor Mammedov RH-Acked-by: Juan Quintela From: "Dr. David Alan Gilbert" Add pc-q35-rhel8.4.0 and fix all the compatiiblity glue up. Note the moving of x-smi-cpu-hotplug follows bz 1846886 comment 18 part 2. Signed-off-by: Dr. David Alan Gilbert Signed-off-by: Danilo C. L. de Paula --- hw/i386/pc.c | 8 ++++++-- hw/i386/pc_piix.c | 5 +++++ hw/i386/pc_q35.c | 30 +++++++++++++++++++++++++++--- include/hw/i386/pc.h | 3 +++ 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index f3fc695fe2..d5ea5b634c 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -363,11 +363,15 @@ GlobalProperty pc_rhel_compat[] = { { TYPE_X86_CPU, "vmx-exit-load-perf-global-ctrl", "off" }, /* bz 1508330 */ { "vfio-pci", "x-no-geforce-quirks", "on" }, - /* BZ 1846886 */ - { "ICH9-LPC", "x-smi-cpu-hotplug", "off" }, }; const size_t pc_rhel_compat_len = G_N_ELEMENTS(pc_rhel_compat); +GlobalProperty pc_rhel_8_3_compat[] = { + /* pc_rhel_8_3_compat from pc_compat_5_1 */ + { "ICH9-LPC", "x-smi-cpu-hotplug", "off" }, +}; +const size_t pc_rhel_8_3_compat_len = G_N_ELEMENTS(pc_rhel_8_3_compat); + GlobalProperty pc_rhel_8_2_compat[] = { /* pc_rhel_8_2_compat from pc_compat_4_2 */ { "mch", "smbase-smram", "off" }, diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 815da79108..1b1cc18ae0 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -1045,6 +1045,11 @@ static void pc_machine_rhel760_options(MachineClass *m) m->smbus_no_migration_support = true; pcmc->pvh_enabled = false; pcmc->default_cpu_version = CPU_VERSION_LEGACY; + pcmc->kvmclock_create_always = false; + compat_props_add(m->compat_props, hw_compat_rhel_8_3, + hw_compat_rhel_8_3_len); + compat_props_add(m->compat_props, pc_rhel_8_3_compat, + pc_rhel_8_3_compat_len); compat_props_add(m->compat_props, hw_compat_rhel_8_2, hw_compat_rhel_8_2_len); compat_props_add(m->compat_props, pc_rhel_8_2_compat, diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 3340008c00..5acb47afcf 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -593,6 +593,24 @@ 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_rhel840(MachineState *machine) +{ + pc_q35_init(machine); +} + +static void pc_q35_machine_rhel840_options(MachineClass *m) +{ + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pc_q35_machine_rhel_options(m); + m->desc = "RHEL-8.4.0 PC (Q35 + ICH9, 2009)"; + pcmc->smbios_stream_product = "RHEL-AV"; + pcmc->smbios_stream_version = "8.4.0"; +} + +DEFINE_PC_MACHINE(q35_rhel840, "pc-q35-rhel8.4.0", pc_q35_init_rhel840, + pc_q35_machine_rhel840_options); + + static void pc_q35_init_rhel830(MachineState *machine) { pc_q35_init(machine); @@ -601,10 +619,17 @@ static void pc_q35_init_rhel830(MachineState *machine) static void pc_q35_machine_rhel830_options(MachineClass *m) { PCMachineClass *pcmc = PC_MACHINE_CLASS(m); - pc_q35_machine_rhel_options(m); + pc_q35_machine_rhel840_options(m); m->desc = "RHEL-8.3.0 PC (Q35 + ICH9, 2009)"; + m->alias = NULL; pcmc->smbios_stream_product = "RHEL-AV"; pcmc->smbios_stream_version = "8.3.0"; + compat_props_add(m->compat_props, hw_compat_rhel_8_3, + hw_compat_rhel_8_3_len); + compat_props_add(m->compat_props, pc_rhel_8_3_compat, + pc_rhel_8_3_compat_len); + /* From pc_q35_5_1_machine_options() */ + pcmc->kvmclock_create_always = false; } DEFINE_PC_MACHINE(q35_rhel830, "pc-q35-rhel8.3.0", pc_q35_init_rhel830, @@ -618,9 +643,8 @@ static void pc_q35_init_rhel820(MachineState *machine) static void pc_q35_machine_rhel820_options(MachineClass *m) { PCMachineClass *pcmc = PC_MACHINE_CLASS(m); - pc_q35_machine_rhel_options(m); + pc_q35_machine_rhel830_options(m); m->desc = "RHEL-8.2.0 PC (Q35 + ICH9, 2009)"; - m->alias = NULL; m->numa_mem_supported = true; m->auto_enable_numa_with_memdev = false; pcmc->smbios_stream_product = "RHEL-AV"; diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index e2ba9a4b58..68091bea98 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -272,6 +272,9 @@ extern const size_t pc_compat_1_4_len; extern GlobalProperty pc_rhel_compat[]; extern const size_t pc_rhel_compat_len; +extern GlobalProperty pc_rhel_8_3_compat[]; +extern const size_t pc_rhel_8_3_compat_len; + extern GlobalProperty pc_rhel_8_2_compat[]; extern const size_t pc_rhel_8_2_compat_len; -- 2.18.4