Synchronization with qemu-kvm-5.2.0-5.el8
This commit is contained in:
parent
e6d35e8f4a
commit
991a8cd654
42
kvm-config-enable-VFIO_CCW.patch
Normal file
42
kvm-config-enable-VFIO_CCW.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From f6e6416e8267d302ba5ec40c2a26bc25cc0d1d55 Mon Sep 17 00:00:00 2001
|
||||
From: Cornelia Huck <cohuck@redhat.com>
|
||||
Date: Fri, 29 Jan 2021 14:40:05 -0500
|
||||
Subject: [PATCH 5/5] config: enable VFIO_CCW
|
||||
|
||||
RH-Author: Cornelia Huck <cohuck@redhat.com>
|
||||
Message-id: <20210129144005.698097-1-cohuck@redhat.com>
|
||||
Patchwork-id: 100941
|
||||
O-Subject: [RHEL-AV-8.4.0 qemu-kvm PATCH] config: enable VFIO_CCW
|
||||
Bugzilla: 1922170
|
||||
RH-Acked-by: Alex Williamson <alex.williamson@redhat.com>
|
||||
RH-Acked-by: David Hildenbrand <david@redhat.com>
|
||||
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||
|
||||
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1922170
|
||||
BRANCH: rhel-av-8.4.0
|
||||
UPSTREAM: n/a
|
||||
BREW: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=34609010
|
||||
|
||||
Enable vfio-ccw in RHEL AV builds.
|
||||
|
||||
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
||||
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
||||
---
|
||||
default-configs/devices/s390x-rh-devices.mak | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/default-configs/devices/s390x-rh-devices.mak b/default-configs/devices/s390x-rh-devices.mak
|
||||
index c3c73fe752..08a15f3e01 100644
|
||||
--- a/default-configs/devices/s390x-rh-devices.mak
|
||||
+++ b/default-configs/devices/s390x-rh-devices.mak
|
||||
@@ -9,6 +9,7 @@ CONFIG_SCSI=y
|
||||
CONFIG_TERMINAL3270=y
|
||||
CONFIG_VFIO=y
|
||||
CONFIG_VFIO_AP=y
|
||||
+CONFIG_VFIO_CCW=y
|
||||
CONFIG_VFIO_PCI=y
|
||||
CONFIG_VHOST_USER=y
|
||||
CONFIG_VIRTIO_CCW=y
|
||||
--
|
||||
2.18.4
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 8fa6654712c7cba73fd1c8d93b094d90c1757000 Mon Sep 17 00:00:00 2001
|
||||
From: Eduardo Habkost <ehabkost@redhat.com>
|
||||
Date: Tue, 26 Jan 2021 23:46:44 -0500
|
||||
Subject: [PATCH 4/5] q35: Increase max_cpus to 710 on pc-q35-rhel8* machine
|
||||
types
|
||||
|
||||
RH-Author: Eduardo Habkost <ehabkost@redhat.com>
|
||||
Message-id: <20210126234644.3091529-1-ehabkost@redhat.com>
|
||||
Patchwork-id: 100791
|
||||
O-Subject: [RHEL-AV-8.4.0 qemu-kvm PATCH] q35: Increase max_cpus to 710 on pc-q35-rhel8* machine types
|
||||
Bugzilla: 1904268
|
||||
RH-Acked-by: Daniel P. Berrange <berrange@redhat.com>
|
||||
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1904268
|
||||
Upstream: not applicable
|
||||
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=34536802
|
||||
|
||||
The original goal was to support 1024 VCPUs, but 710 VCPUs is the
|
||||
maximum number we can reach before hitting SMBIOS table size
|
||||
limits.
|
||||
|
||||
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
|
||||
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
||||
---
|
||||
hw/i386/pc_q35.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
|
||||
index 5acb47afcf..72854192a9 100644
|
||||
--- a/hw/i386/pc_q35.c
|
||||
+++ b/hw/i386/pc_q35.c
|
||||
@@ -589,7 +589,7 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
|
||||
machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
|
||||
machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE);
|
||||
m->alias = "q35";
|
||||
- m->max_cpus = 512;
|
||||
+ m->max_cpus = 710;
|
||||
compat_props_add(m->compat_props, pc_rhel_compat, pc_rhel_compat_len);
|
||||
}
|
||||
|
||||
--
|
||||
2.18.4
|
||||
|
100
kvm-spapr-Allow-memory-unplug-to-always-succeed.patch
Normal file
100
kvm-spapr-Allow-memory-unplug-to-always-succeed.patch
Normal file
@ -0,0 +1,100 @@
|
||||
From 1365bf10ad49fd7c0a3b4e2eabeaacd1abf60d18 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kurz <gkurz@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 15:20:43 -0500
|
||||
Subject: [PATCH 1/5] spapr: Allow memory unplug to always succeed
|
||||
|
||||
RH-Author: Greg Kurz <gkurz@redhat.com>
|
||||
Message-id: <20210119152044.1019191-2-gkurz@redhat.com>
|
||||
Patchwork-id: 100690
|
||||
O-Subject: [RHEL-AV-8.4.0 qemu-kvm PATCH 1/2] spapr: Allow memory unplug to always succeed
|
||||
Bugzilla: 1914069
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||
RH-Acked-by: David Gibson <dgibson@redhat.com>
|
||||
|
||||
From: Greg Kurz <groug@kaod.org>
|
||||
|
||||
It is currently impossible to hot-unplug a memory device between
|
||||
machine reset and CAS.
|
||||
|
||||
(qemu) device_del dimm1
|
||||
Error: Memory hot unplug not supported for this guest
|
||||
|
||||
This limitation was introduced in order to provide an explicit
|
||||
error path for older guests that didn't support hot-plug event
|
||||
sources (and thus memory hot-unplug).
|
||||
|
||||
The linux kernel has been supporting these since 4.11. All recent
|
||||
enough guests are thus capable of handling the removal of a memory
|
||||
device at all time, including during early boot.
|
||||
|
||||
Lift the limitation for the latest machine type. This means that
|
||||
trying to unplug memory from a guest that doesn't support it will
|
||||
likely just do nothing and the memory will only get removed at
|
||||
next reboot. Such older guests can still get the existing behavior
|
||||
by using an older machine type.
|
||||
|
||||
Signed-off-by: Greg Kurz <groug@kaod.org>
|
||||
Message-Id: <160794035064.23292.17560963281911312439.stgit@bahia.lan>
|
||||
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||
(cherry picked from commit 1e8b5b1aa16b7d73ba8ba52c95d0b52329d5c9d0)
|
||||
Signed-off-by: Greg Kurz <gkurz@redhat.com>
|
||||
|
||||
Conflicts:
|
||||
hw/ppc/spapr.c
|
||||
|
||||
Conflict because RHEL-AV doesn't have upstream 576a00bdeb5b ("hw: add
|
||||
compat machines for 6.0"). Just ignore the change that sets
|
||||
pre_6_0_memory_unplug for older machine types since the next patch
|
||||
removes the flag.
|
||||
|
||||
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
||||
---
|
||||
hw/ppc/spapr.c | 3 ++-
|
||||
hw/ppc/spapr_events.c | 3 ++-
|
||||
include/hw/ppc/spapr.h | 1 +
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
|
||||
index 4f61b64a21..65a647134a 100644
|
||||
--- a/hw/ppc/spapr.c
|
||||
+++ b/hw/ppc/spapr.c
|
||||
@@ -4064,7 +4064,8 @@ static void spapr_machine_device_unplug_request(HotplugHandler *hotplug_dev,
|
||||
SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
|
||||
|
||||
if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) {
|
||||
- if (spapr_ovec_test(sms->ov5_cas, OV5_HP_EVT)) {
|
||||
+ if (!smc->pre_6_0_memory_unplug ||
|
||||
+ spapr_ovec_test(sms->ov5_cas, OV5_HP_EVT)) {
|
||||
spapr_memory_unplug_request(hotplug_dev, dev, errp);
|
||||
} else {
|
||||
/* NOTE: this means there is a window after guest reset, prior to
|
||||
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
|
||||
index 1add53547e..c30123177b 100644
|
||||
--- a/hw/ppc/spapr_events.c
|
||||
+++ b/hw/ppc/spapr_events.c
|
||||
@@ -659,7 +659,8 @@ static void spapr_hotplug_req_event(uint8_t hp_id, uint8_t hp_action,
|
||||
/* we should not be using count_indexed value unless the guest
|
||||
* supports dedicated hotplug event source
|
||||
*/
|
||||
- g_assert(spapr_ovec_test(spapr->ov5_cas, OV5_HP_EVT));
|
||||
+ g_assert(!SPAPR_MACHINE_GET_CLASS(spapr)->pre_6_0_memory_unplug ||
|
||||
+ spapr_ovec_test(spapr->ov5_cas, OV5_HP_EVT));
|
||||
hp->drc_id.count_indexed.count =
|
||||
cpu_to_be32(drc_id->count_indexed.count);
|
||||
hp->drc_id.count_indexed.index =
|
||||
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
|
||||
index 28bbf07f8f..4941fe9b4f 100644
|
||||
--- a/include/hw/ppc/spapr.h
|
||||
+++ b/include/hw/ppc/spapr.h
|
||||
@@ -142,6 +142,7 @@ struct SpaprMachineClass {
|
||||
hwaddr rma_limit; /* clamp the RMA to this size */
|
||||
bool pre_5_1_assoc_refpoints;
|
||||
bool pre_5_2_numa_associativity;
|
||||
+ bool pre_6_0_memory_unplug;
|
||||
|
||||
bool has_power9_support;
|
||||
void (*phb_placement)(SpaprMachineState *spapr, uint32_t index,
|
||||
--
|
||||
2.18.4
|
||||
|
168
kvm-spapr-Improve-handling-of-memory-unplug-with-old-gue.patch
Normal file
168
kvm-spapr-Improve-handling-of-memory-unplug-with-old-gue.patch
Normal file
@ -0,0 +1,168 @@
|
||||
From cd719765bd751142c4040ee7daf615b859fb3e9d Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kurz <gkurz@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 15:20:44 -0500
|
||||
Subject: [PATCH 2/5] spapr: Improve handling of memory unplug with old guests
|
||||
|
||||
RH-Author: Greg Kurz <gkurz@redhat.com>
|
||||
Message-id: <20210119152044.1019191-3-gkurz@redhat.com>
|
||||
Patchwork-id: 100691
|
||||
O-Subject: [RHEL-AV-8.4.0 qemu-kvm PATCH 2/2] spapr: Improve handling of memory unplug with old guests
|
||||
Bugzilla: 1914069
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||
RH-Acked-by: David Gibson <dgibson@redhat.com>
|
||||
|
||||
From: Greg Kurz <groug@kaod.org>
|
||||
|
||||
Since commit 1e8b5b1aa16b ("spapr: Allow memory unplug to always succeed")
|
||||
trying to unplug memory from a guest that doesn't support it (eg. rhel6)
|
||||
no longer generates an error like it used to. Instead, it leaves the
|
||||
memory around : only a subsequent reboot or manual use of drmgr within
|
||||
the guest can complete the hot-unplug sequence. A flag was added to
|
||||
SpaprMachineClass so that this new behavior only applies to the default
|
||||
machine type.
|
||||
|
||||
We can do better. CAS processes all pending hot-unplug requests. This
|
||||
means that we don't really care about what the guest supports if
|
||||
the hot-unplug request happens before CAS.
|
||||
|
||||
All guests that we care for, even old ones, set enough bits in OV5
|
||||
that lead to a non-empty bitmap in spapr->ov5_cas. Use that as a
|
||||
heuristic to decide if CAS has already occured or not.
|
||||
|
||||
Always accept unplug requests that happen before CAS since CAS will
|
||||
process them. Restore the previous behavior of rejecting them after
|
||||
CAS when we know that the guest doesn't support memory hot-unplug.
|
||||
|
||||
This behavior is suitable for all machine types : this allows to
|
||||
drop the pre_6_0_memory_unplug flag.
|
||||
|
||||
Fixes: 1e8b5b1aa16b ("spapr: Allow memory unplug to always succeed")
|
||||
Signed-off-by: Greg Kurz <groug@kaod.org>
|
||||
Message-Id: <161012708715.801107.11418801796987916516.stgit@bahia.lan>
|
||||
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||||
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||
(cherry picked from commit 73598c75df0585e039825e642adede21912dabc7)
|
||||
Signed-off-by: Greg Kurz <gkurz@redhat.com>
|
||||
|
||||
Conflicts:
|
||||
hw/ppc/spapr.c
|
||||
|
||||
Conflict around the removal of pre_6_0_memory_unplug, which was only
|
||||
partially backported from upstream 1e8b5b1aa16b.
|
||||
|
||||
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
||||
---
|
||||
hw/ppc/spapr.c | 21 +++++++++++++--------
|
||||
hw/ppc/spapr_events.c | 3 +--
|
||||
hw/ppc/spapr_ovec.c | 7 +++++++
|
||||
include/hw/ppc/spapr.h | 2 +-
|
||||
include/hw/ppc/spapr_ovec.h | 1 +
|
||||
5 files changed, 23 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
|
||||
index 65a647134a..a67df8cb26 100644
|
||||
--- a/hw/ppc/spapr.c
|
||||
+++ b/hw/ppc/spapr.c
|
||||
@@ -4056,6 +4056,18 @@ static void spapr_machine_device_unplug(HotplugHandler *hotplug_dev,
|
||||
}
|
||||
}
|
||||
|
||||
+bool spapr_memory_hot_unplug_supported(SpaprMachineState *spapr)
|
||||
+{
|
||||
+ return spapr_ovec_test(spapr->ov5_cas, OV5_HP_EVT) ||
|
||||
+ /*
|
||||
+ * CAS will process all pending unplug requests.
|
||||
+ *
|
||||
+ * HACK: a guest could theoretically have cleared all bits in OV5,
|
||||
+ * but none of the guests we care for do.
|
||||
+ */
|
||||
+ spapr_ovec_empty(spapr->ov5_cas);
|
||||
+}
|
||||
+
|
||||
static void spapr_machine_device_unplug_request(HotplugHandler *hotplug_dev,
|
||||
DeviceState *dev, Error **errp)
|
||||
{
|
||||
@@ -4064,16 +4076,9 @@ static void spapr_machine_device_unplug_request(HotplugHandler *hotplug_dev,
|
||||
SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
|
||||
|
||||
if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) {
|
||||
- if (!smc->pre_6_0_memory_unplug ||
|
||||
- spapr_ovec_test(sms->ov5_cas, OV5_HP_EVT)) {
|
||||
+ if (spapr_memory_hot_unplug_supported(sms)) {
|
||||
spapr_memory_unplug_request(hotplug_dev, dev, errp);
|
||||
} else {
|
||||
- /* NOTE: this means there is a window after guest reset, prior to
|
||||
- * CAS negotiation, where unplug requests will fail due to the
|
||||
- * capability not being detected yet. This is a bit different than
|
||||
- * the case with PCI unplug, where the events will be queued and
|
||||
- * eventually handled by the guest after boot
|
||||
- */
|
||||
error_setg(errp, "Memory hot unplug not supported for this guest");
|
||||
}
|
||||
} else if (object_dynamic_cast(OBJECT(dev), TYPE_SPAPR_CPU_CORE)) {
|
||||
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
|
||||
index c30123177b..80b918ff5f 100644
|
||||
--- a/hw/ppc/spapr_events.c
|
||||
+++ b/hw/ppc/spapr_events.c
|
||||
@@ -659,8 +659,7 @@ static void spapr_hotplug_req_event(uint8_t hp_id, uint8_t hp_action,
|
||||
/* we should not be using count_indexed value unless the guest
|
||||
* supports dedicated hotplug event source
|
||||
*/
|
||||
- g_assert(!SPAPR_MACHINE_GET_CLASS(spapr)->pre_6_0_memory_unplug ||
|
||||
- spapr_ovec_test(spapr->ov5_cas, OV5_HP_EVT));
|
||||
+ g_assert(spapr_memory_hot_unplug_supported(spapr));
|
||||
hp->drc_id.count_indexed.count =
|
||||
cpu_to_be32(drc_id->count_indexed.count);
|
||||
hp->drc_id.count_indexed.index =
|
||||
diff --git a/hw/ppc/spapr_ovec.c b/hw/ppc/spapr_ovec.c
|
||||
index dd003f1763..b2567caa5c 100644
|
||||
--- a/hw/ppc/spapr_ovec.c
|
||||
+++ b/hw/ppc/spapr_ovec.c
|
||||
@@ -125,6 +125,13 @@ bool spapr_ovec_test(SpaprOptionVector *ov, long bitnr)
|
||||
return test_bit(bitnr, ov->bitmap) ? true : false;
|
||||
}
|
||||
|
||||
+bool spapr_ovec_empty(SpaprOptionVector *ov)
|
||||
+{
|
||||
+ g_assert(ov);
|
||||
+
|
||||
+ return bitmap_empty(ov->bitmap, OV_MAXBITS);
|
||||
+}
|
||||
+
|
||||
static void guest_byte_to_bitmap(uint8_t entry, unsigned long *bitmap,
|
||||
long bitmap_offset)
|
||||
{
|
||||
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
|
||||
index 4941fe9b4f..5952942362 100644
|
||||
--- a/include/hw/ppc/spapr.h
|
||||
+++ b/include/hw/ppc/spapr.h
|
||||
@@ -142,7 +142,6 @@ struct SpaprMachineClass {
|
||||
hwaddr rma_limit; /* clamp the RMA to this size */
|
||||
bool pre_5_1_assoc_refpoints;
|
||||
bool pre_5_2_numa_associativity;
|
||||
- bool pre_6_0_memory_unplug;
|
||||
|
||||
bool has_power9_support;
|
||||
void (*phb_placement)(SpaprMachineState *spapr, uint32_t index,
|
||||
@@ -954,4 +953,5 @@ bool spapr_check_pagesize(SpaprMachineState *spapr, hwaddr pagesize,
|
||||
|
||||
void spapr_set_all_lpcrs(target_ulong value, target_ulong mask);
|
||||
hwaddr spapr_get_rtas_addr(void);
|
||||
+bool spapr_memory_hot_unplug_supported(SpaprMachineState *spapr);
|
||||
#endif /* HW_SPAPR_H */
|
||||
diff --git a/include/hw/ppc/spapr_ovec.h b/include/hw/ppc/spapr_ovec.h
|
||||
index d4dee9e06a..48b716a060 100644
|
||||
--- a/include/hw/ppc/spapr_ovec.h
|
||||
+++ b/include/hw/ppc/spapr_ovec.h
|
||||
@@ -71,6 +71,7 @@ void spapr_ovec_cleanup(SpaprOptionVector *ov);
|
||||
void spapr_ovec_set(SpaprOptionVector *ov, long bitnr);
|
||||
void spapr_ovec_clear(SpaprOptionVector *ov, long bitnr);
|
||||
bool spapr_ovec_test(SpaprOptionVector *ov, long bitnr);
|
||||
+bool spapr_ovec_empty(SpaprOptionVector *ov);
|
||||
SpaprOptionVector *spapr_ovec_parse_vector(target_ulong table_addr, int vector);
|
||||
int spapr_dt_ovec(void *fdt, int fdt_offset,
|
||||
SpaprOptionVector *ov, const char *name);
|
||||
--
|
||||
2.18.4
|
||||
|
71
kvm-x86-cpu-Add-AVX512_FP16-cpu-feature.patch
Normal file
71
kvm-x86-cpu-Add-AVX512_FP16-cpu-feature.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From 5840880e2ed3747464242e0559a6cf7ec4e55a11 Mon Sep 17 00:00:00 2001
|
||||
From: "plai@redhat.com" <plai@redhat.com>
|
||||
Date: Thu, 21 Jan 2021 17:43:53 -0500
|
||||
Subject: [PATCH 3/5] x86/cpu: Add AVX512_FP16 cpu feature
|
||||
|
||||
RH-Author: plai@redhat.com
|
||||
Message-id: <20210121174353.16032-1-plai@redhat.com>
|
||||
Patchwork-id: 100758
|
||||
O-Subject: [RHEL8.4 AV qemu-kvm PATCH] x86/cpu: Add AVX512_FP16 cpu feature
|
||||
Bugzilla: 1838738
|
||||
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
|
||||
RH-Acked-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
RH-Acked-by: Bandan Das <bsd@redhat.com>
|
||||
|
||||
From: Cathy Zhang <cathy.zhang@intel.com>
|
||||
|
||||
BZ https://bugzilla.redhat.com/show_bug.cgi?id=1838738
|
||||
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=34299228
|
||||
x86 https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=34299267
|
||||
Branch rhel-av-8.4.0
|
||||
|
||||
Tested on intel-eaglestream-spr-01.khw1.lab.eng.bos.redhat.com.
|
||||
All flags found as expected
|
||||
avx512_vp2intersect, serialize, and avx512_fp16
|
||||
except:
|
||||
tsxldtrk
|
||||
|
||||
Cpuid reports CPUID.(7.0).EDX[16] isn't enabled on this CPU.
|
||||
Leaf Subleaf EAX EBX ECX EDX
|
||||
00000007 00000000: 00000001 .... f3bfbfef .... fa417f5e ^.A. ff8c4532 2E..
|
||||
|
||||
Already in rhel-av-8.4.0 (rebased to v5.2.0 ):
|
||||
353f98c9a x86/cpu: Enable AVX512_VP2INTERSECT cpu feature
|
||||
5dd13f2a5 target/i386: Add SERIALIZE cpu feature
|
||||
b3c7344e3 target/i386: Enable TSX Suspend Load Address Tracking feature
|
||||
|
||||
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
|
||||
---
|
||||
target/i386/cpu.c | 2 +-
|
||||
target/i386/cpu.h | 2 ++
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
|
||||
index dc592e990e..f944b41573 100644
|
||||
--- a/target/i386/cpu.c
|
||||
+++ b/target/i386/cpu.c
|
||||
@@ -977,7 +977,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
||||
"avx512-vp2intersect", NULL, "md-clear", NULL,
|
||||
NULL, NULL, "serialize", NULL,
|
||||
"tsx-ldtrk", NULL, NULL /* pconfig */, NULL,
|
||||
- NULL, NULL, NULL, NULL,
|
||||
+ NULL, NULL, NULL, "avx512-fp16",
|
||||
NULL, NULL, "spec-ctrl", "stibp",
|
||||
NULL, "arch-capabilities", "core-capability", "ssbd",
|
||||
},
|
||||
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
|
||||
index 88e8586f8f..a3db7e3c6c 100644
|
||||
--- a/target/i386/cpu.h
|
||||
+++ b/target/i386/cpu.h
|
||||
@@ -783,6 +783,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS];
|
||||
#define CPUID_7_0_EDX_SERIALIZE (1U << 14)
|
||||
/* TSX Suspend Load Address Tracking instruction */
|
||||
#define CPUID_7_0_EDX_TSX_LDTRK (1U << 16)
|
||||
+/* AVX512_FP16 instruction */
|
||||
+#define CPUID_7_0_EDX_AVX512_FP16 (1U << 23)
|
||||
/* Speculation Control */
|
||||
#define CPUID_7_0_EDX_SPEC_CTRL (1U << 26)
|
||||
/* Single Thread Indirect Branch Predictors */
|
||||
--
|
||||
2.18.4
|
||||
|
@ -64,7 +64,7 @@ Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release}
|
||||
Summary: QEMU is a machine emulator and virtualizer
|
||||
Name: qemu-kvm
|
||||
Version: 5.2.0
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||
Epoch: 15
|
||||
License: GPLv2 and GPLv2+ and CC-BY
|
||||
@ -145,6 +145,16 @@ Patch0049: 0049-RHEL-Switch-pvpanic-test-to-q35.patch
|
||||
Patch0050: 0050-8.4-x86-machine-type.patch
|
||||
Patch0051: 0051-memory-clamp-cached-translation-in-case-it-points-to.patch
|
||||
Patch0054: 0054-Drop-bogus-IPv6-messages.patch
|
||||
# For bz#1914069 - [ppc64le] have this fix for rhel8.4 av (spapr: Allow memory unplug to always succeed)
|
||||
Patch55: kvm-spapr-Allow-memory-unplug-to-always-succeed.patch
|
||||
# For bz#1914069 - [ppc64le] have this fix for rhel8.4 av (spapr: Allow memory unplug to always succeed)
|
||||
Patch56: kvm-spapr-Improve-handling-of-memory-unplug-with-old-gue.patch
|
||||
# For bz#1838738 - [Intel 8.4 FEAT] qemu-kvm Sapphire Rapids (SPR) New Instructions (NIs) - Fast Train
|
||||
Patch57: kvm-x86-cpu-Add-AVX512_FP16-cpu-feature.patch
|
||||
# For bz#1904268 - [RFE] [HPEMC] qemu-kvm: support up to 710 VCPUs
|
||||
Patch58: kvm-q35-Increase-max_cpus-to-710-on-pc-q35-rhel8-machine.patch
|
||||
# For bz#1922170 - Enable vfio-ccw in AV
|
||||
Patch59: kvm-config-enable-VFIO_CCW.patch
|
||||
|
||||
BuildRequires: wget
|
||||
BuildRequires: rpm-build
|
||||
@ -1325,6 +1335,21 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules &> /dev/null || :
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Feb 02 2021 Eduardo Lima (Etrunko) <elima@redhat.com> - 5.2.0-5.el8
|
||||
- kvm-spapr-Allow-memory-unplug-to-always-succeed.patch [bz#1914069]
|
||||
- kvm-spapr-Improve-handling-of-memory-unplug-with-old-gue.patch [bz#1914069]
|
||||
- kvm-x86-cpu-Add-AVX512_FP16-cpu-feature.patch [bz#1838738]
|
||||
- kvm-q35-Increase-max_cpus-to-710-on-pc-q35-rhel8-machine.patch [bz#1904268]
|
||||
- kvm-config-enable-VFIO_CCW.patch [bz#1922170]
|
||||
- Resolves: bz#1914069
|
||||
([ppc64le] have this fix for rhel8.4 av (spapr: Allow memory unplug to always succeed))
|
||||
- Resolves: bz#1838738
|
||||
([Intel 8.4 FEAT] qemu-kvm Sapphire Rapids (SPR) New Instructions (NIs) - Fast Train)
|
||||
- Resolves: bz#1904268
|
||||
([RFE] [HPEMC] qemu-kvm: support up to 710 VCPUs)
|
||||
- Resolves: bz#1922170
|
||||
(Enable vfio-ccw in AV)
|
||||
|
||||
* Wed Jan 27 2021 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 5.2.0-4.el8
|
||||
- kvm-Drop-bogus-IPv6-messages.patch [bz#1918061]
|
||||
- Resolves: bz#1918061
|
||||
|
Loading…
Reference in New Issue
Block a user