* Fri Dec 21 2018 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-2.el8
- kvm-pc-7.5-compat-entries.patch [bz#1655820] - kvm-compat-Generic-HW_COMPAT_RHEL7_6.patch [bz#1655820] - kvm-pc-PC_RHEL7_6_COMPAT.patch [bz#1655820] - kvm-pc-Add-compat-for-pc-i440fx-rhel7.6.0-machine-type.patch [bz#1655820] - kvm-pc-Add-pc-q35-8.0.0-machine-type.patch [bz#1655820] - kvm-pc-Add-x-migrate-smi-count-off-to-PC_RHEL7_6_COMPAT.patch [bz#1655820] - kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch [bz#1659604] - kvm-Add-edk2-Requires-to-qemu-kvm.patch [bz#1660208] - Resolves: bz#1655820 (Can't migarate between rhel8 and rhel7 when guest has device "video") - Resolves: bz#1659604 (8->7 migration failed: qemu-kvm: error: failed to set MSR 0x4b564d02 to 0x27fc13285) - Resolves: bz#1660208 (qemu-kvm: Should depend on the architecture-appropriate guest firmware)
This commit is contained in:
parent
56a8b5ca3e
commit
1744d66d6e
119
kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch
Normal file
119
kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
From fece44d5054ef13f483d7531a8462cb7f8ff5b93 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bandan Das <bsd@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 19:33:40 +0000
|
||||||
|
Subject: [PATCH 7/8] kvm: clear out KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT for
|
||||||
|
older machine types
|
||||||
|
|
||||||
|
RH-Author: Bandan Das <bsd@redhat.com>
|
||||||
|
Message-id: <jpgmup79a3v.fsf@linux.bootlegged.copy>
|
||||||
|
Patchwork-id: 83523
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH] kvm: clear out KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT for older machine types
|
||||||
|
Bugzilla: 1659604
|
||||||
|
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
RH-Acked-by: Pankaj Gupta <pagupta@redhat.com>
|
||||||
|
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
|
||||||
|
|
||||||
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1659604
|
||||||
|
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=19521246
|
||||||
|
Upstream: Not applicable
|
||||||
|
Branch: rhel8/master-3.1.0 on top of [RHEL8 qemu-kvm PATCH v3 0/5] 8.0.0 x86 machine types
|
||||||
|
|
||||||
|
After the addition of support for async pf injection to L1, newer
|
||||||
|
hypervisors advertise the feature using bit 2 of the
|
||||||
|
MSR_KVM_ASYNC_PF_EN msr. However, this was reserved in older
|
||||||
|
hypervisors which results in an error during migration like so:
|
||||||
|
|
||||||
|
qemu-kvm: error: failed to set MSR 0x4b564d02 to 0x27fc13285
|
||||||
|
qemu-kvm: /builddir/build/BUILD/qemu-2.12.0/target/i386/kvm.c:1940: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
|
||||||
|
Aborted (core dumped)
|
||||||
|
|
||||||
|
This patch introduces a new bool that is set for older machine types.
|
||||||
|
When set, Qemu's stored value clears out bit 2. This should be safe
|
||||||
|
because the guest can still enable it by writing to the MSR after
|
||||||
|
checking for support. A reset/migration for <7.6 machine type would
|
||||||
|
reset the bit though.
|
||||||
|
|
||||||
|
Signed-off-by: Bandan Das <bsd@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
hw/i386/pc.c | 1 +
|
||||||
|
hw/i386/pc_piix.c | 1 +
|
||||||
|
hw/i386/pc_q35.c | 1 +
|
||||||
|
include/hw/boards.h | 2 ++
|
||||||
|
target/i386/kvm.c | 4 ++++
|
||||||
|
5 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
|
||||||
|
index a609332..18268d3 100644
|
||||||
|
--- a/hw/i386/pc.c
|
||||||
|
+++ b/hw/i386/pc.c
|
||||||
|
@@ -2391,6 +2391,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
|
||||||
|
pcmc->linuxboot_dma_enabled = true;
|
||||||
|
assert(!mc->get_hotplug_handler);
|
||||||
|
pcmc->pc_rom_ro = true;
|
||||||
|
+ mc->async_pf_vmexit_disable = false;
|
||||||
|
mc->get_hotplug_handler = pc_get_hotpug_handler;
|
||||||
|
mc->cpu_index_to_instance_props = pc_cpu_index_to_props;
|
||||||
|
mc->get_default_cpu_node_id = pc_get_default_cpu_node_id;
|
||||||
|
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
|
||||||
|
index efee5e7..46c494a 100644
|
||||||
|
--- a/hw/i386/pc_piix.c
|
||||||
|
+++ b/hw/i386/pc_piix.c
|
||||||
|
@@ -1186,6 +1186,7 @@ static void pc_machine_rhel760_options(MachineClass *m)
|
||||||
|
{
|
||||||
|
pc_machine_rhel7_options(m);
|
||||||
|
m->desc = "RHEL 7.6.0 PC (i440FX + PIIX, 1996)";
|
||||||
|
+ m->async_pf_vmexit_disable = true;
|
||||||
|
SET_MACHINE_COMPAT(m, PC_RHEL7_6_COMPAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
|
||||||
|
index 0b7223f..1810cf2 100644
|
||||||
|
--- a/hw/i386/pc_q35.c
|
||||||
|
+++ b/hw/i386/pc_q35.c
|
||||||
|
@@ -470,6 +470,7 @@ static void pc_q35_machine_rhel760_options(MachineClass *m)
|
||||||
|
pc_q35_machine_rhel800_options(m);
|
||||||
|
m->alias = NULL;
|
||||||
|
m->desc = "RHEL-7.6.0 PC (Q35 + ICH9, 2009)";
|
||||||
|
+ m->async_pf_vmexit_disable = true;
|
||||||
|
SET_MACHINE_COMPAT(m, PC_RHEL7_6_COMPAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/include/hw/boards.h b/include/hw/boards.h
|
||||||
|
index f82f284..27463fb 100644
|
||||||
|
--- a/include/hw/boards.h
|
||||||
|
+++ b/include/hw/boards.h
|
||||||
|
@@ -204,6 +204,8 @@ struct MachineClass {
|
||||||
|
const char **valid_cpu_types;
|
||||||
|
strList *allowed_dynamic_sysbus_devices;
|
||||||
|
bool auto_enable_numa_with_memhp;
|
||||||
|
+ /* RHEL only */
|
||||||
|
+ bool async_pf_vmexit_disable;
|
||||||
|
void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,
|
||||||
|
int nb_nodes, ram_addr_t size);
|
||||||
|
bool ignore_boot_device_suffixes;
|
||||||
|
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
|
||||||
|
index b2401d1..5b0ce82 100644
|
||||||
|
--- a/target/i386/kvm.c
|
||||||
|
+++ b/target/i386/kvm.c
|
||||||
|
@@ -2351,6 +2351,7 @@ static int kvm_get_msrs(X86CPU *cpu)
|
||||||
|
struct kvm_msr_entry *msrs = cpu->kvm_msr_buf->entries;
|
||||||
|
int ret, i;
|
||||||
|
uint64_t mtrr_top_bits;
|
||||||
|
+ MachineClass *mc = MACHINE_GET_CLASS(qdev_get_machine());
|
||||||
|
|
||||||
|
kvm_msr_buf_reset(cpu);
|
||||||
|
|
||||||
|
@@ -2648,6 +2649,9 @@ static int kvm_get_msrs(X86CPU *cpu)
|
||||||
|
break;
|
||||||
|
case MSR_KVM_ASYNC_PF_EN:
|
||||||
|
env->async_pf_en_msr = msrs[i].data;
|
||||||
|
+ if (mc->async_pf_vmexit_disable) {
|
||||||
|
+ env->async_pf_en_msr &= ~(1ULL << 2);
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
case MSR_KVM_PV_EOI_EN:
|
||||||
|
env->pv_eoi_en_msr = msrs[i].data;
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
66
kvm-compat-Generic-HW_COMPAT_RHEL7_6.patch
Normal file
66
kvm-compat-Generic-HW_COMPAT_RHEL7_6.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
From a75b0a6a7ef6e14e3b65b34bbc6935491d3b016e Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:07 +0000
|
||||||
|
Subject: [PATCH 2/8] compat: Generic HW_COMPAT_RHEL7_6
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-3-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83516
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 2/6] compat: Generic HW_COMPAT_RHEL7_6
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
Add the HW_COMPAT_RHEL7_6 macro based on the 2.12 and 3.0 macros.
|
||||||
|
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
include/hw/compat.h | 29 +++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 29 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/hw/compat.h b/include/hw/compat.h
|
||||||
|
index f08cc7c..40db243 100644
|
||||||
|
--- a/include/hw/compat.h
|
||||||
|
+++ b/include/hw/compat.h
|
||||||
|
@@ -513,5 +513,34 @@
|
||||||
|
.value = "off",\
|
||||||
|
},
|
||||||
|
|
||||||
|
+/* The same as HW_COMPAT_3_0 + HW_COMPAT_2_12
|
||||||
|
+ * except that
|
||||||
|
+ * there's nothing in 3_0
|
||||||
|
+ * migration.decompress-error-check=off was in 7.5 from bz 1584139
|
||||||
|
+ *
|
||||||
|
+ */
|
||||||
|
+#define HW_COMPAT_RHEL7_6 \
|
||||||
|
+ { /* HW_COMPAT_RHEL7_6 from HW_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "hda-audio",\
|
||||||
|
+ .property = "use-timer",\
|
||||||
|
+ .value = "false",\
|
||||||
|
+ },{ /* HW_COMPAT_RHEL7_6 from HW_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "cirrus-vga",\
|
||||||
|
+ .property = "global-vmstate",\
|
||||||
|
+ .value = "true",\
|
||||||
|
+ },{ /* HW_COMPAT_RHEL7_6 from HW_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "VGA",\
|
||||||
|
+ .property = "global-vmstate",\
|
||||||
|
+ .value = "true",\
|
||||||
|
+ },{ /* HW_COMPAT_RHEL7_6 from HW_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "vmware-svga",\
|
||||||
|
+ .property = "global-vmstate",\
|
||||||
|
+ .value = "true",\
|
||||||
|
+ },{ /* HW_COMPAT_RHEL7_6 from HW_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "qxl-vga",\
|
||||||
|
+ .property = "global-vmstate",\
|
||||||
|
+ .value = "true",\
|
||||||
|
+ },
|
||||||
|
+
|
||||||
|
|
||||||
|
#endif /* HW_COMPAT_H */
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
55
kvm-pc-7.5-compat-entries.patch
Normal file
55
kvm-pc-7.5-compat-entries.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From d89b308fb81b12ff2f452739d103cfee8043f94a Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:06 +0000
|
||||||
|
Subject: [PATCH 1/8] pc: 7.5 compat entries
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-2-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83515
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 1/6] pc: 7.5 compat entries
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
These are missing entries that are already in 7.6 from commits
|
||||||
|
64b860ac7db and 2f039646554 but are missing in the 3.1 rebase.
|
||||||
|
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
include/hw/i386/pc.h | 16 ++++++++++++++++
|
||||||
|
1 file changed, 16 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
|
||||||
|
index f8f35af..efcb208 100644
|
||||||
|
--- a/include/hw/i386/pc.h
|
||||||
|
+++ b/include/hw/i386/pc.h
|
||||||
|
@@ -1008,6 +1008,22 @@ extern void igd_passthrough_isa_bridge_create(PCIBus *bus, uint16_t gpu_dev_id);
|
||||||
|
.driver = "Skylake-Server" "-" TYPE_X86_CPU,\
|
||||||
|
.property = "clflushopt",\
|
||||||
|
.value = "off",\
|
||||||
|
+ },{ /* PC_RHEL7_5_COMPAT from PC_COMPAT_2_12 */ \
|
||||||
|
+ .driver = TYPE_X86_CPU,\
|
||||||
|
+ .property = "legacy-cache",\
|
||||||
|
+ .value = "on",\
|
||||||
|
+ },{ /* PC_RHEL7_5_COMPAT from PC_COMPAT_2_12 */ \
|
||||||
|
+ .driver = TYPE_X86_CPU,\
|
||||||
|
+ .property = "topoext",\
|
||||||
|
+ .value = "off",\
|
||||||
|
+ },{ /* PC_RHEL7_5_COMPAT from PC_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "EPYC-" TYPE_X86_CPU,\
|
||||||
|
+ .property = "xlevel",\
|
||||||
|
+ .value = stringify(0x8000000a),\
|
||||||
|
+ },{ /* PC_RHEL7_5_COMPAT from PC_COMPAT_2_12 */ \
|
||||||
|
+ .driver = "EPYC-IBPB-" TYPE_X86_CPU,\
|
||||||
|
+ .property = "xlevel",\
|
||||||
|
+ .value = stringify(0x8000000a),\
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
41
kvm-pc-Add-compat-for-pc-i440fx-rhel7.6.0-machine-type.patch
Normal file
41
kvm-pc-Add-compat-for-pc-i440fx-rhel7.6.0-machine-type.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 5121d3ce3d4a7932e8b62b7eb4c70aed802c9abd Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:09 +0000
|
||||||
|
Subject: [PATCH 4/8] pc: Add compat for pc-i440fx-rhel7.6.0 machine type
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-5-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83517
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 4/6] pc: Add compat for pc-i440fx-rhel7.6.0 machine type
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
Use the PC_RHEL7_6_COMPAT macro for our i440fx machine type.
|
||||||
|
We're not adding new RHEL8 i440 machine types at this time, so it's
|
||||||
|
just a matter of keeping the current i440fx machine types compatible.
|
||||||
|
|
||||||
|
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 | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
|
||||||
|
index af9eb8c..efee5e7 100644
|
||||||
|
--- a/hw/i386/pc_piix.c
|
||||||
|
+++ b/hw/i386/pc_piix.c
|
||||||
|
@@ -1186,6 +1186,7 @@ static void pc_machine_rhel760_options(MachineClass *m)
|
||||||
|
{
|
||||||
|
pc_machine_rhel7_options(m);
|
||||||
|
m->desc = "RHEL 7.6.0 PC (i440FX + PIIX, 1996)";
|
||||||
|
+ SET_MACHINE_COMPAT(m, PC_RHEL7_6_COMPAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINE_PC_MACHINE(rhel760, "pc-i440fx-rhel7.6.0", pc_init_rhel760,
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
73
kvm-pc-Add-pc-q35-8.0.0-machine-type.patch
Normal file
73
kvm-pc-Add-pc-q35-8.0.0-machine-type.patch
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
From b9db46a8df4b0eb25bf71205b188b903ff61936c Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:10 +0000
|
||||||
|
Subject: [PATCH 5/8] pc: Add pc-q35-8.0.0 machine type
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-6-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83518
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 5/6] pc: Add pc-q35-8.0.0 machine type
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
hw/i386/pc_q35.c | 22 +++++++++++++++++++---
|
||||||
|
1 file changed, 19 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
|
||||||
|
index 163546e..0b7223f 100644
|
||||||
|
--- a/hw/i386/pc_q35.c
|
||||||
|
+++ b/hw/i386/pc_q35.c
|
||||||
|
@@ -431,8 +431,8 @@ DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL,
|
||||||
|
|
||||||
|
/* Red Hat Enterprise Linux machine types */
|
||||||
|
|
||||||
|
-/* Options for the latest rhel7 q35 machine type */
|
||||||
|
-static void pc_q35_machine_rhel7_options(MachineClass *m)
|
||||||
|
+/* Options for the latest rhel q35 machine type */
|
||||||
|
+static void pc_q35_machine_rhel_options(MachineClass *m)
|
||||||
|
{
|
||||||
|
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
|
||||||
|
pcmc->default_nic_model = "e1000e";
|
||||||
|
@@ -446,6 +446,20 @@ static void pc_q35_machine_rhel7_options(MachineClass *m)
|
||||||
|
SET_MACHINE_COMPAT(m, PC_RHEL_COMPAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void pc_q35_init_rhel800(MachineState *machine)
|
||||||
|
+{
|
||||||
|
+ pc_q35_init(machine);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void pc_q35_machine_rhel800_options(MachineClass *m)
|
||||||
|
+{
|
||||||
|
+ pc_q35_machine_rhel_options(m);
|
||||||
|
+ m->desc = "RHEL-8.0.0 PC (Q35 + ICH9, 2009)";
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_PC_MACHINE(q35_rhel800, "pc-q35-rhel8.0.0", pc_q35_init_rhel800,
|
||||||
|
+ pc_q35_machine_rhel800_options);
|
||||||
|
+
|
||||||
|
static void pc_q35_init_rhel760(MachineState *machine)
|
||||||
|
{
|
||||||
|
pc_q35_init(machine);
|
||||||
|
@@ -453,8 +467,10 @@ static void pc_q35_init_rhel760(MachineState *machine)
|
||||||
|
|
||||||
|
static void pc_q35_machine_rhel760_options(MachineClass *m)
|
||||||
|
{
|
||||||
|
- pc_q35_machine_rhel7_options(m);
|
||||||
|
+ pc_q35_machine_rhel800_options(m);
|
||||||
|
+ m->alias = NULL;
|
||||||
|
m->desc = "RHEL-7.6.0 PC (Q35 + ICH9, 2009)";
|
||||||
|
+ SET_MACHINE_COMPAT(m, PC_RHEL7_6_COMPAT);
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINE_PC_MACHINE(q35_rhel760, "pc-q35-rhel7.6.0", pc_q35_init_rhel760,
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
From f58ebc7e755e7baa122b906e061feb4de10bbe4c Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:11 +0000
|
||||||
|
Subject: [PATCH 6/8] pc: Add x-migrate-smi-count=off to PC_RHEL7_6_COMPAT
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-7-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83514
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 6/6] pc: Add x-migrate-smi-count=off to PC_RHEL7_6_COMPAT
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
MSR_SMI_COUNT started being migrated in QEMU 2.12 and in the 2.12
|
||||||
|
release this broke back migration to earlier versions; however
|
||||||
|
that didn't cause a problem on RHEL because it also relied on newer
|
||||||
|
kernel features that RHEL 7.* doesn't have.
|
||||||
|
|
||||||
|
QEMU 3.0 got a fix (in PC_COMPAT_2_11) to fix the 2.12->earlier
|
||||||
|
breakage, but given the kernel dependency, it makes more sense
|
||||||
|
for us to tie it to 8.* machine types and keep the feature off for
|
||||||
|
all 7.* machine types.
|
||||||
|
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
include/hw/i386/pc.h | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
|
||||||
|
index 5533863..426a975 100644
|
||||||
|
--- a/include/hw/i386/pc.h
|
||||||
|
+++ b/include/hw/i386/pc.h
|
||||||
|
@@ -1000,6 +1000,9 @@ extern void igd_passthrough_isa_bridge_create(PCIBus *bus, uint16_t gpu_dev_id);
|
||||||
|
|
||||||
|
/* Similar to PC_COMPAT_3_0 + PC_COMPAT_2_12, but:
|
||||||
|
* all of the 2_12 stuff was already in 7.6 from bz 1481253
|
||||||
|
+ * x-migrate-smi-count comes from PC_COMPAT_2_11 but
|
||||||
|
+ * is really tied to kernel version so keep it off on 7.x
|
||||||
|
+ * machine types irrespective of host.
|
||||||
|
*/
|
||||||
|
#define PC_RHEL7_6_COMPAT \
|
||||||
|
HW_COMPAT_RHEL7_6 \
|
||||||
|
@@ -1015,6 +1018,10 @@ extern void igd_passthrough_isa_bridge_create(PCIBus *bus, uint16_t gpu_dev_id);
|
||||||
|
.driver = "Skylake-Server-IBRS" "-" TYPE_X86_CPU,\
|
||||||
|
.property = "pku",\
|
||||||
|
.value = "off",\
|
||||||
|
+ },{ /* PC_RHEL7_6_COMPAT from PC_COMPAT_2_11 */ \
|
||||||
|
+ .driver = TYPE_X86_CPU,\
|
||||||
|
+ .property = "x-migrate-smi-count",\
|
||||||
|
+ .value = "off",\
|
||||||
|
},
|
||||||
|
|
||||||
|
/* Similar to PC_COMPAT_2_11 + PC_COMPAT_2_10, but:
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
58
kvm-pc-PC_RHEL7_6_COMPAT.patch
Normal file
58
kvm-pc-PC_RHEL7_6_COMPAT.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
From 83fd182901d50d150416afaa1236c3b798b320e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Fri, 14 Dec 2018 17:02:08 +0000
|
||||||
|
Subject: [PATCH 3/8] pc: PC_RHEL7_6_COMPAT
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20181214170211.14267-4-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 83513
|
||||||
|
O-Subject: [RHEL8 qemu-kvm PATCH v3 3/6] pc: PC_RHEL7_6_COMPAT
|
||||||
|
Bugzilla: 1655820
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
Add the PC_RHEL7_6_COMPAT macro derived from the 3.0 and 2.12
|
||||||
|
upstream macros.
|
||||||
|
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
include/hw/i386/pc.h | 19 +++++++++++++++++++
|
||||||
|
1 file changed, 19 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
|
||||||
|
index efcb208..5533863 100644
|
||||||
|
--- a/include/hw/i386/pc.h
|
||||||
|
+++ b/include/hw/i386/pc.h
|
||||||
|
@@ -998,6 +998,25 @@ extern void igd_passthrough_isa_bridge_create(PCIBus *bus, uint16_t gpu_dev_id);
|
||||||
|
.value = "on",\
|
||||||
|
},
|
||||||
|
|
||||||
|
+/* Similar to PC_COMPAT_3_0 + PC_COMPAT_2_12, but:
|
||||||
|
+ * all of the 2_12 stuff was already in 7.6 from bz 1481253
|
||||||
|
+ */
|
||||||
|
+#define PC_RHEL7_6_COMPAT \
|
||||||
|
+ HW_COMPAT_RHEL7_6 \
|
||||||
|
+ { /* PC_RHEL7_6_COMPAT from PC_COMPAT_3_0 */ \
|
||||||
|
+ .driver = TYPE_X86_CPU,\
|
||||||
|
+ .property = "x-hv-synic-kvm-only",\
|
||||||
|
+ .value = "on",\
|
||||||
|
+ },{ /* PC_RHEL7_6_COMPAT from PC_COMPAT_3_0 */ \
|
||||||
|
+ .driver = "Skylake-Server" "-" TYPE_X86_CPU,\
|
||||||
|
+ .property = "pku",\
|
||||||
|
+ .value = "off",\
|
||||||
|
+ },{ /* PC_RHEL7_6_COMPAT from PC_COMPAT_3_0 */ \
|
||||||
|
+ .driver = "Skylake-Server-IBRS" "-" TYPE_X86_CPU,\
|
||||||
|
+ .property = "pku",\
|
||||||
|
+ .value = "off",\
|
||||||
|
+ },
|
||||||
|
+
|
||||||
|
/* Similar to PC_COMPAT_2_11 + PC_COMPAT_2_10, but:
|
||||||
|
* - x-hv-max-vps was backported to 7.5
|
||||||
|
* - x-pci-hole64-fix was backported to 7.5
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -68,7 +68,7 @@ Obsoletes: %1-rhev
|
|||||||
Summary: QEMU is a machine emulator and virtualizer
|
Summary: QEMU is a machine emulator and virtualizer
|
||||||
Name: qemu-kvm
|
Name: qemu-kvm
|
||||||
Version: 3.1.0
|
Version: 3.1.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||||
Epoch: 15
|
Epoch: 15
|
||||||
License: GPLv2 and GPLv2+ and CC-BY
|
License: GPLv2 and GPLv2+ and CC-BY
|
||||||
@ -120,6 +120,20 @@ Patch0016: 0016-Add-support-for-simpletrace.patch
|
|||||||
Patch0017: 0017-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch
|
Patch0017: 0017-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch
|
||||||
Patch0018: 0018-usb-xhci-Fix-PCI-capability-order.patch
|
Patch0018: 0018-usb-xhci-Fix-PCI-capability-order.patch
|
||||||
Patch0019: 0019-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch
|
Patch0019: 0019-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch20: kvm-pc-7.5-compat-entries.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch21: kvm-compat-Generic-HW_COMPAT_RHEL7_6.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch22: kvm-pc-PC_RHEL7_6_COMPAT.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch23: kvm-pc-Add-compat-for-pc-i440fx-rhel7.6.0-machine-type.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch24: kvm-pc-Add-pc-q35-8.0.0-machine-type.patch
|
||||||
|
# For bz#1655820 - Can't migarate between rhel8 and rhel7 when guest has device "video"
|
||||||
|
Patch25: kvm-pc-Add-x-migrate-smi-count-off-to-PC_RHEL7_6_COMPAT.patch
|
||||||
|
# For bz#1659604 - 8->7 migration failed: qemu-kvm: error: failed to set MSR 0x4b564d02 to 0x27fc13285
|
||||||
|
Patch26: kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch
|
||||||
|
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
@ -242,7 +256,12 @@ Requires: qemu-img = %{epoch}:%{version}-%{release}
|
|||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
Requires: seabios-bin >= 1.10.2-1
|
Requires: seabios-bin >= 1.10.2-1
|
||||||
Requires: sgabios-bin
|
Requires: sgabios-bin
|
||||||
|
Requires: edk2-ovmf
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
Requires: edk2-aarch64
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifnarch aarch64 s390x
|
%ifnarch aarch64 s390x
|
||||||
Requires: seavgabios-bin >= 1.10.2-1
|
Requires: seavgabios-bin >= 1.10.2-1
|
||||||
Requires: ipxe-roms-qemu >= 20170123-1
|
Requires: ipxe-roms-qemu >= 20170123-1
|
||||||
@ -962,6 +981,22 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 21 2018 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-2.el8
|
||||||
|
- kvm-pc-7.5-compat-entries.patch [bz#1655820]
|
||||||
|
- kvm-compat-Generic-HW_COMPAT_RHEL7_6.patch [bz#1655820]
|
||||||
|
- kvm-pc-PC_RHEL7_6_COMPAT.patch [bz#1655820]
|
||||||
|
- kvm-pc-Add-compat-for-pc-i440fx-rhel7.6.0-machine-type.patch [bz#1655820]
|
||||||
|
- kvm-pc-Add-pc-q35-8.0.0-machine-type.patch [bz#1655820]
|
||||||
|
- kvm-pc-Add-x-migrate-smi-count-off-to-PC_RHEL7_6_COMPAT.patch [bz#1655820]
|
||||||
|
- kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch [bz#1659604]
|
||||||
|
- kvm-Add-edk2-Requires-to-qemu-kvm.patch [bz#1660208]
|
||||||
|
- Resolves: bz#1655820
|
||||||
|
(Can't migarate between rhel8 and rhel7 when guest has device "video")
|
||||||
|
- Resolves: bz#1659604
|
||||||
|
(8->7 migration failed: qemu-kvm: error: failed to set MSR 0x4b564d02 to 0x27fc13285)
|
||||||
|
- Resolves: bz#1660208
|
||||||
|
(qemu-kvm: Should depend on the architecture-appropriate guest firmware)
|
||||||
|
|
||||||
* Thu Dec 13 2018 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-1.el8
|
* Thu Dec 13 2018 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-1.el8
|
||||||
- Rebase to qemu-kvm 3.1.0
|
- Rebase to qemu-kvm 3.1.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user