* Sat Aug 07 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-11
- kvm-arm-virt-Register-iommu-as-a-class-property.patch [bz#1838608] - kvm-arm-virt-Register-its-as-a-class-property.patch [bz#1838608] - kvm-arm-virt-Enable-ARM-RAS-support.patch [bz#1838608] - kvm-block-Fix-in_flight-leak-in-request-padding-error-pa.patch [bz#1972079] - kvm-spec-Remove-buildldflags.patch [bz#1973029] - kvm-spec-Use-make_build-macro.patch [bz#1973029] - kvm-spec-Drop-make-install-sharedir-and-datadir-usage.patch [bz#1973029] - kvm-spec-use-make_install-macro.patch [bz#1973029] - kvm-spec-parallelize-make-check.patch [bz#1973029] - kvm-spec-Drop-explicit-build-id.patch [bz#1973029] - kvm-spec-use-build_ldflags.patch [bz#1973029] - kvm-Move-virtiofsd-to-separate-package.patch [bz#1979728] - kvm-Utilize-firmware-configure-option.patch [bz#1980139] - Resolves: bz#1838608 (aarch64: Enable ARMv8 RAS virtualization support) - Resolves: bz#1972079 (Windows Installation blocked on 4k disk when using blk+raw+iothread) - Resolves: bz#1973029 (Spec file cleanups) - Resolves: bz#1979728 (Split out virtiofsd subpackage) - Resolves: bz#1980139 (Use configure --firmwarepath more)
This commit is contained in:
parent
88586bd480
commit
457e3fe8c2
68
kvm-arm-virt-Enable-ARM-RAS-support.patch
Normal file
68
kvm-arm-virt-Enable-ARM-RAS-support.patch
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
From 170a9c7dc044a0094b48c658e0d57c97c4b854e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Date: Wed, 30 Jun 2021 13:38:03 +0200
|
||||||
|
Subject: [PATCH 03/13] arm/virt: Enable ARM RAS support
|
||||||
|
|
||||||
|
RH-Author: Eric Auger <eric.auger@redhat.com>
|
||||||
|
RH-MergeRequest: 19: arm/virt: Support RAS
|
||||||
|
RH-Commit: [3/3] 1572368bb0f47463a1f6ffa3f5baa97242440c98 (eauger1/centos-qemu-kvm)
|
||||||
|
RH-Bugzilla: 1838608
|
||||||
|
RH-Acked-by: Gavin Shan <gshan@redhat.com>
|
||||||
|
RH-Acked-by: Andrew Jones <drjones@redhat.com>
|
||||||
|
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
|
||||||
|
|
||||||
|
We want to support ARM RAS (Reliability, Availability & Serviceability).
|
||||||
|
So let's register the RAS property as a class property. It is
|
||||||
|
unset by default.
|
||||||
|
|
||||||
|
Signed-off-by: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
hw/arm/virt.c | 10 ++++++++--
|
||||||
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
|
||||||
|
index fe1111d527..0084935ec8 100644
|
||||||
|
--- a/hw/arm/virt.c
|
||||||
|
+++ b/hw/arm/virt.c
|
||||||
|
@@ -2281,7 +2281,6 @@ static void virt_set_acpi(Object *obj, Visitor *v, const char *name,
|
||||||
|
visit_type_OnOffAuto(v, name, &vms->acpi, errp);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if 0 /* Disabled for Red Hat Enterprise Linux */
|
||||||
|
static bool virt_get_ras(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||||||
|
@@ -2296,6 +2295,7 @@ static void virt_set_ras(Object *obj, bool value, Error **errp)
|
||||||
|
vms->ras = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if 0 /* Disabled for Red Hat Enterprise Linux */
|
||||||
|
static bool virt_get_mte(Object *obj, Error **errp)
|
||||||
|
{
|
||||||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||||||
|
@@ -3013,6 +3013,12 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
|
||||||
|
"Set the IOMMU type. "
|
||||||
|
"Valid values are none and smmuv3");
|
||||||
|
|
||||||
|
+ object_class_property_add_bool(oc, "ras", virt_get_ras,
|
||||||
|
+ virt_set_ras);
|
||||||
|
+ object_class_property_set_description(oc, "ras",
|
||||||
|
+ "Set on/off to enable/disable reporting host memory errors "
|
||||||
|
+ "to a KVM guest using ACPI and guest external abort exceptions");
|
||||||
|
+
|
||||||
|
object_class_property_add_bool(oc, "its", virt_get_its,
|
||||||
|
virt_set_its);
|
||||||
|
object_class_property_set_description(oc, "its",
|
||||||
|
@@ -3063,7 +3069,7 @@ static void rhel_virt_instance_init(Object *obj)
|
||||||
|
/* Default disallows iommu instantiation */
|
||||||
|
vms->iommu = VIRT_IOMMU_NONE;
|
||||||
|
|
||||||
|
- /* Default disallows RAS instantiation and is non-configurable for RHEL */
|
||||||
|
+ /* Default disallows RAS instantiation */
|
||||||
|
vms->ras = false;
|
||||||
|
|
||||||
|
/* MTE is disabled by default and non-configurable for RHEL */
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
54
kvm-arm-virt-Register-iommu-as-a-class-property.patch
Normal file
54
kvm-arm-virt-Register-iommu-as-a-class-property.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 42e530c513914b83273ec8c6a29100eb3c737604 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Date: Wed, 30 Jun 2021 07:28:38 -0400
|
||||||
|
Subject: [PATCH 01/13] arm/virt: Register iommu as a class property
|
||||||
|
|
||||||
|
RH-Author: Eric Auger <eric.auger@redhat.com>
|
||||||
|
RH-MergeRequest: 19: arm/virt: Support RAS
|
||||||
|
RH-Commit: [1/3] 48428de4deb5af94891aa5552fb9f4ea6d69acef (eauger1/centos-qemu-kvm)
|
||||||
|
RH-Bugzilla: 1838608
|
||||||
|
RH-Acked-by: Gavin Shan <gshan@redhat.com>
|
||||||
|
RH-Acked-by: Andrew Jones <drjones@redhat.com>
|
||||||
|
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
|
||||||
|
|
||||||
|
As done for highmem and gic-version, let's register the iommu property
|
||||||
|
as a class property. This is closer to the upstream code. This
|
||||||
|
change was originally made by upstream commit:
|
||||||
|
b91def7b8382 ("arm/virt: Register most properties as class properties")
|
||||||
|
|
||||||
|
Signed-off-by: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
hw/arm/virt.c | 9 +++++----
|
||||||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
|
||||||
|
index e4aa794f83..bdae24a753 100644
|
||||||
|
--- a/hw/arm/virt.c
|
||||||
|
+++ b/hw/arm/virt.c
|
||||||
|
@@ -3008,6 +3008,11 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
|
||||||
|
"Set GIC version. "
|
||||||
|
"Valid values are 2, 3, host and max");
|
||||||
|
|
||||||
|
+ object_class_property_add_str(oc, "iommu", virt_get_iommu, virt_set_iommu);
|
||||||
|
+ object_class_property_set_description(oc, "iommu",
|
||||||
|
+ "Set the IOMMU type. "
|
||||||
|
+ "Valid values are none and smmuv3");
|
||||||
|
+
|
||||||
|
object_class_property_add_str(oc, "x-oem-id",
|
||||||
|
virt_get_oem_id,
|
||||||
|
virt_set_oem_id);
|
||||||
|
@@ -3056,10 +3061,6 @@ static void rhel_virt_instance_init(Object *obj)
|
||||||
|
|
||||||
|
/* Default disallows iommu instantiation */
|
||||||
|
vms->iommu = VIRT_IOMMU_NONE;
|
||||||
|
- object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu);
|
||||||
|
- object_property_set_description(obj, "iommu",
|
||||||
|
- "Set the IOMMU type. "
|
||||||
|
- "Valid values are none and smmuv3");
|
||||||
|
|
||||||
|
/* Default disallows RAS instantiation and is non-configurable for RHEL */
|
||||||
|
vms->ras = false;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
56
kvm-arm-virt-Register-its-as-a-class-property.patch
Normal file
56
kvm-arm-virt-Register-its-as-a-class-property.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From 29d18bdaf3dad52a052b2b058cd8f74652a72f76 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Date: Thu, 8 Jul 2021 05:14:47 -0400
|
||||||
|
Subject: [PATCH 02/13] arm/virt: Register its as a class property
|
||||||
|
|
||||||
|
RH-Author: Eric Auger <eric.auger@redhat.com>
|
||||||
|
RH-MergeRequest: 19: arm/virt: Support RAS
|
||||||
|
RH-Commit: [2/3] 95debacfd59d06ed2dcaeb120b20a280ff515434 (eauger1/centos-qemu-kvm)
|
||||||
|
RH-Bugzilla: 1838608
|
||||||
|
RH-Acked-by: Gavin Shan <gshan@redhat.com>
|
||||||
|
RH-Acked-by: Andrew Jones <drjones@redhat.com>
|
||||||
|
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
|
||||||
|
|
||||||
|
As done for highmem, gic-version, iommu, let's register the its property
|
||||||
|
as a class property. This is closer to the upstream code. This
|
||||||
|
change was originally made by upstream commit:
|
||||||
|
b91def7b8382 ("arm/virt: Register most properties as class properties")
|
||||||
|
|
||||||
|
Signed-off-by: Eric Auger <eric.auger@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
hw/arm/virt.c | 11 ++++++-----
|
||||||
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
|
||||||
|
index bdae24a753..fe1111d527 100644
|
||||||
|
--- a/hw/arm/virt.c
|
||||||
|
+++ b/hw/arm/virt.c
|
||||||
|
@@ -3013,6 +3013,12 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
|
||||||
|
"Set the IOMMU type. "
|
||||||
|
"Valid values are none and smmuv3");
|
||||||
|
|
||||||
|
+ object_class_property_add_bool(oc, "its", virt_get_its,
|
||||||
|
+ virt_set_its);
|
||||||
|
+ object_class_property_set_description(oc, "its",
|
||||||
|
+ "Set on/off to enable/disable "
|
||||||
|
+ "ITS instantiation");
|
||||||
|
+
|
||||||
|
object_class_property_add_str(oc, "x-oem-id",
|
||||||
|
virt_get_oem_id,
|
||||||
|
virt_set_oem_id);
|
||||||
|
@@ -3052,11 +3058,6 @@ static void rhel_virt_instance_init(Object *obj)
|
||||||
|
} else {
|
||||||
|
/* Default allows ITS instantiation */
|
||||||
|
vms->its = true;
|
||||||
|
- object_property_add_bool(obj, "its", virt_get_its,
|
||||||
|
- virt_set_its);
|
||||||
|
- object_property_set_description(obj, "its",
|
||||||
|
- "Set on/off to enable/disable "
|
||||||
|
- "ITS instantiation");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Default disallows iommu instantiation */
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
@ -0,0 +1,71 @@
|
|||||||
|
From 872e82621b1341e8b96bda47f7f43dfffd356249 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Wolf <kwolf@redhat.com>
|
||||||
|
Date: Tue, 27 Jul 2021 17:49:23 +0200
|
||||||
|
Subject: [PATCH 04/13] block: Fix in_flight leak in request padding error path
|
||||||
|
|
||||||
|
RH-Author: Kevin Wolf <None>
|
||||||
|
RH-MergeRequest: 31: block: Fix in_flight leak in request padding error path
|
||||||
|
RH-Commit: [1/1] a0d1bf38d9a69818cd6cefc3779f2988b484605a (kmwolf/centos-qemu-kvm)
|
||||||
|
RH-Bugzilla: 1972079
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Acked-by: Eric Blake <eblake@redhat.com>
|
||||||
|
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
||||||
|
|
||||||
|
When bdrv_pad_request() fails in bdrv_co_preadv_part(), bs->in_flight
|
||||||
|
has been increased, but is never decreased again. This leads to a hang
|
||||||
|
when trying to drain the block node.
|
||||||
|
|
||||||
|
This bug was observed with Windows guests which issue a request that
|
||||||
|
fully uses IOV_MAX during installation, so that when padding is
|
||||||
|
necessary (O_DIRECT with a 4k sector size block device on the host),
|
||||||
|
adding another entry causes failure.
|
||||||
|
|
||||||
|
Call bdrv_dec_in_flight() to fix this. There is a larger problem to
|
||||||
|
solve here because this request shouldn't even fail, but Windows doesn't
|
||||||
|
seem to care and with this minimal fix the installation succeeds. So
|
||||||
|
given that we're already in freeze, let's take this minimal fix for 6.1.
|
||||||
|
|
||||||
|
Fixes: 98ca45494fcd6bf0336ecd559e440b6de6ea4cd3
|
||||||
|
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1972079
|
||||||
|
Reported-by: Qing Wang <qinwang@redhat.com>
|
||||||
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
||||||
|
Message-Id: <20210727154923.91067-1-kwolf@redhat.com>
|
||||||
|
Reviewed-by: Max Reitz <mreitz@redhat.com>
|
||||||
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
||||||
|
(cherry picked from commit 87ab88025247b893aad5071fd38301b67be76d1a)
|
||||||
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
block/io.c | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/block/io.c b/block/io.c
|
||||||
|
index a4b2e3adf1..5033d51334 100644
|
||||||
|
--- a/block/io.c
|
||||||
|
+++ b/block/io.c
|
||||||
|
@@ -1811,7 +1811,7 @@ int coroutine_fn bdrv_co_preadv_part(BdrvChild *child,
|
||||||
|
ret = bdrv_pad_request(bs, &qiov, &qiov_offset, &offset, &bytes, &pad,
|
||||||
|
NULL);
|
||||||
|
if (ret < 0) {
|
||||||
|
- return ret;
|
||||||
|
+ goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
tracked_request_begin(&req, bs, offset, bytes, BDRV_TRACKED_READ);
|
||||||
|
@@ -1819,10 +1819,11 @@ int coroutine_fn bdrv_co_preadv_part(BdrvChild *child,
|
||||||
|
bs->bl.request_alignment,
|
||||||
|
qiov, qiov_offset, flags);
|
||||||
|
tracked_request_end(&req);
|
||||||
|
- bdrv_dec_in_flight(bs);
|
||||||
|
-
|
||||||
|
bdrv_padding_destroy(&pad);
|
||||||
|
|
||||||
|
+fail:
|
||||||
|
+ bdrv_dec_in_flight(bs);
|
||||||
|
+
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
148
qemu-kvm.spec
148
qemu-kvm.spec
@ -3,6 +3,7 @@
|
|||||||
%global libusbx_version 1.0.23
|
%global libusbx_version 1.0.23
|
||||||
%global meson_version 0.55.3-3
|
%global meson_version 0.55.3-3
|
||||||
%global usbredir_version 0.7.1
|
%global usbredir_version 0.7.1
|
||||||
|
%global ipxe_version 20200823-5.git4bd064de
|
||||||
|
|
||||||
%global have_usbredir 1
|
%global have_usbredir 1
|
||||||
%global have_opengl 1
|
%global have_opengl 1
|
||||||
@ -77,7 +78,7 @@
|
|||||||
%global block_drivers_rw_list qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle
|
%global block_drivers_rw_list qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle
|
||||||
%global block_drivers_ro_list vmdk,vhdx,vpc,https,ssh
|
%global block_drivers_ro_list vmdk,vhdx,vpc,https,ssh
|
||||||
%define qemudocdir %{_docdir}/%{name}
|
%define qemudocdir %{_docdir}/%{name}
|
||||||
|
%global firmwaredirs "%{_datadir}/qemu-firmware:%{_datadir}/ipxe/qemu:%{_datadir}/seavgabios:%{_datadir}/seabios:%{_datadir}/sgabios"
|
||||||
|
|
||||||
#Versions of various parts:
|
#Versions of various parts:
|
||||||
|
|
||||||
@ -112,7 +113,7 @@ Obsoletes: %{name}-block-iscsi <= %{version} \
|
|||||||
Summary: QEMU is a machine emulator and virtualizer
|
Summary: QEMU is a machine emulator and virtualizer
|
||||||
Name: qemu-kvm
|
Name: qemu-kvm
|
||||||
Version: 6.0.0
|
Version: 6.0.0
|
||||||
Release: 10%{?rcrel}%{?dist}
|
Release: 11%{?rcrel}%{?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 used for RHEL 8
|
# Epoch 15 used for RHEL 8
|
||||||
# Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5)
|
# Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5)
|
||||||
@ -273,6 +274,14 @@ Patch73: kvm-block-add-max_hw_transfer-to-BlockLimits.patch
|
|||||||
Patch74: kvm-file-posix-try-BLKSECTGET-on-block-devices-too-do-no.patch
|
Patch74: kvm-file-posix-try-BLKSECTGET-on-block-devices-too-do-no.patch
|
||||||
# For bz#1957782 - VMDK support should be read-only
|
# For bz#1957782 - VMDK support should be read-only
|
||||||
Patch75: kvm-block-Add-option-to-use-driver-whitelist-even-in-too.patch
|
Patch75: kvm-block-Add-option-to-use-driver-whitelist-even-in-too.patch
|
||||||
|
# For bz#1838608 - aarch64: Enable ARMv8 RAS virtualization support
|
||||||
|
Patch76: kvm-arm-virt-Register-iommu-as-a-class-property.patch
|
||||||
|
# For bz#1838608 - aarch64: Enable ARMv8 RAS virtualization support
|
||||||
|
Patch77: kvm-arm-virt-Register-its-as-a-class-property.patch
|
||||||
|
# For bz#1838608 - aarch64: Enable ARMv8 RAS virtualization support
|
||||||
|
Patch78: kvm-arm-virt-Enable-ARM-RAS-support.patch
|
||||||
|
# For bz#1972079 - Windows Installation blocked on 4k disk when using blk+raw+iothread
|
||||||
|
Patch79: kvm-block-Fix-in_flight-leak-in-request-padding-error-pa.patch
|
||||||
|
|
||||||
# Source-git patches
|
# Source-git patches
|
||||||
|
|
||||||
@ -342,6 +351,7 @@ Requires: %{name}-core = %{epoch}:%{version}-%{release}
|
|||||||
Requires: %{name}-docs = %{epoch}:%{version}-%{release}
|
Requires: %{name}-docs = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-tools = %{epoch}:%{version}-%{release}
|
Requires: %{name}-tools = %{epoch}:%{version}-%{release}
|
||||||
Requires: qemu-pr-helper = %{epoch}:%{version}-%{release}
|
Requires: qemu-pr-helper = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: virtiofsd = %{epoch}:%{version}-%{release}
|
||||||
%{requires_all_modules}
|
%{requires_all_modules}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -390,7 +400,7 @@ Requires: sgabios-bin
|
|||||||
%endif
|
%endif
|
||||||
%ifnarch aarch64 s390x
|
%ifnarch aarch64 s390x
|
||||||
Requires: seavgabios-bin >= 1.12.0-3
|
Requires: seavgabios-bin >= 1.12.0-3
|
||||||
Requires: ipxe-roms-qemu >= 20170123-1
|
Requires: ipxe-roms-qemu >= %{ipxe_version}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description common
|
%description common
|
||||||
@ -419,6 +429,15 @@ This package provides the qemu-pr-helper utility that is required for certain
|
|||||||
SCSI features.
|
SCSI features.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n qemu-virtiofsd
|
||||||
|
Summary: QEMU virtio-fs shared file system daemon
|
||||||
|
Provides: virtiofsd
|
||||||
|
%description -n qemu-virtiofsd
|
||||||
|
This package provides virtiofsd daemon. This program is a vhost-user backend
|
||||||
|
that implements the virtio-fs device that is used for sharing a host directory
|
||||||
|
tree with a guest.
|
||||||
|
|
||||||
|
|
||||||
%package -n qemu-img
|
%package -n qemu-img
|
||||||
Summary: QEMU command line tool for manipulating disk images
|
Summary: QEMU command line tool for manipulating disk images
|
||||||
%description -n qemu-img
|
%description -n qemu-img
|
||||||
@ -516,9 +535,6 @@ mkdir -p %{qemu_kvm_build}
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# --build-id option is used for giving info to the debug packages.
|
|
||||||
buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
||||||
|
|
||||||
%define disable_everything \\\
|
%define disable_everything \\\
|
||||||
--audio-drv-list= \\\
|
--audio-drv-list= \\\
|
||||||
--disable-attr \\\
|
--disable-attr \\\
|
||||||
@ -656,11 +672,11 @@ run_configure() {
|
|||||||
--localstatedir="%{_localstatedir}" \
|
--localstatedir="%{_localstatedir}" \
|
||||||
--docdir="%{_docdir}" \
|
--docdir="%{_docdir}" \
|
||||||
--libexecdir="%{_libexecdir}" \
|
--libexecdir="%{_libexecdir}" \
|
||||||
--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \
|
--extra-ldflags="%{build_ldflags}" \
|
||||||
--extra-cflags="%{optflags}" \
|
--extra-cflags="%{optflags}" \
|
||||||
--with-pkgversion="%{name}-%{version}-%{release}" \
|
--with-pkgversion="%{name}-%{version}-%{release}" \
|
||||||
--with-suffix="%{name}" \
|
--with-suffix="%{name}" \
|
||||||
--firmwarepath=%{_prefix}/share/qemu-firmware \
|
--firmwarepath=%{firmwaredirs} \
|
||||||
--meson="%{__meson}" \
|
--meson="%{__meson}" \
|
||||||
--enable-trace-backend=dtrace \
|
--enable-trace-backend=dtrace \
|
||||||
--with-coroutine=ucontext \
|
--with-coroutine=ucontext \
|
||||||
@ -757,24 +773,24 @@ run_configure \
|
|||||||
|
|
||||||
|
|
||||||
%if %{tools_only}
|
%if %{tools_only}
|
||||||
make V=1 %{?_smp_mflags} $buildldflags qemu-img
|
%make_build qemu-img
|
||||||
make V=1 %{?_smp_mflags} $buildldflags qemu-io
|
%make_build qemu-io
|
||||||
make V=1 %{?_smp_mflags} $buildldflags qemu-nbd
|
%make_build qemu-nbd
|
||||||
make V=1 %{?_smp_mflags} $buildldflags storage-daemon/qemu-storage-daemon
|
%make_build storage-daemon/qemu-storage-daemon
|
||||||
|
|
||||||
make V=1 %{?_smp_mflags} $buildldflags docs/qemu-img.1
|
%make_build docs/qemu-img.1
|
||||||
make V=1 %{?_smp_mflags} $buildldflags docs/qemu-nbd.8
|
%make_build docs/qemu-nbd.8
|
||||||
make V=1 %{?_smp_mflags} $buildldflags docs/qemu-storage-daemon.1
|
%make_build docs/qemu-storage-daemon.1
|
||||||
make V=1 %{?_smp_mflags} $buildldflags docs/qemu-storage-daemon-qmp-ref.7
|
%make_build docs/qemu-storage-daemon-qmp-ref.7
|
||||||
|
|
||||||
make V=1 %{?_smp_mflags} $buildldflags qga/qemu-ga
|
%make_build qga/qemu-ga
|
||||||
make V=1 %{?_smp_mflags} $buildldflags docs/qemu-ga.8
|
%make_build docs/qemu-ga.8
|
||||||
# endif tools_only
|
# endif tools_only
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%if !%{tools_only}
|
%if !%{tools_only}
|
||||||
make V=1 %{?_smp_mflags} $buildldflags
|
%make_build
|
||||||
|
|
||||||
# Setup back compat qemu-kvm binary
|
# Setup back compat qemu-kvm binary
|
||||||
%{__python3} scripts/tracetool.py --backend dtrace --format stap \
|
%{__python3} scripts/tracetool.py --backend dtrace --format stap \
|
||||||
@ -877,10 +893,7 @@ install -p -m 0644 %{_sourcedir}/README.tests %{buildroot}%{testsdir}/README
|
|||||||
|
|
||||||
# Do the actual qemu tree install
|
# Do the actual qemu tree install
|
||||||
pushd %{qemu_kvm_build}
|
pushd %{qemu_kvm_build}
|
||||||
make DESTDIR=%{buildroot} \
|
%make_install
|
||||||
sharedir="%{_datadir}/%{name}" \
|
|
||||||
datadir="%{_datadir}/%{name}" \
|
|
||||||
install
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/systemtap/tapset
|
mkdir -p %{buildroot}%{_datadir}/systemtap/tapset
|
||||||
@ -1004,39 +1017,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/bios*.bin
|
|||||||
# Provided by package sgabios
|
# Provided by package sgabios
|
||||||
rm -rf %{buildroot}%{_datadir}/%{name}/sgabios.bin
|
rm -rf %{buildroot}%{_datadir}/%{name}/sgabios.bin
|
||||||
|
|
||||||
# the pxe gpxe images will be symlinks to the images on
|
|
||||||
# /usr/share/ipxe, as QEMU doesn't know how to look
|
|
||||||
# for other paths, yet.
|
|
||||||
pxe_link() {
|
|
||||||
ln -s ../ipxe.efi/$2.rom %{buildroot}%{_datadir}/%{name}/efi-$1.rom
|
|
||||||
}
|
|
||||||
|
|
||||||
%ifnarch aarch64 s390x
|
|
||||||
pxe_link e1000 8086100e
|
|
||||||
pxe_link rtl8139 10ec8139
|
|
||||||
pxe_link virtio 1af41000
|
|
||||||
pxe_link e1000e 808610d3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
rom_link() {
|
|
||||||
ln -s $1 %{buildroot}%{_datadir}/%{name}/$2
|
|
||||||
}
|
|
||||||
|
|
||||||
%ifnarch aarch64 s390x
|
|
||||||
rom_link ../seavgabios/vgabios-isavga.bin vgabios.bin
|
|
||||||
rom_link ../seavgabios/vgabios-cirrus.bin vgabios-cirrus.bin
|
|
||||||
rom_link ../seavgabios/vgabios-qxl.bin vgabios-qxl.bin
|
|
||||||
rom_link ../seavgabios/vgabios-stdvga.bin vgabios-stdvga.bin
|
|
||||||
rom_link ../seavgabios/vgabios-vmware.bin vgabios-vmware.bin
|
|
||||||
rom_link ../seavgabios/vgabios-virtio.bin vgabios-virtio.bin
|
|
||||||
rom_link ../seavgabios/vgabios-ramfb.bin vgabios-ramfb.bin
|
|
||||||
rom_link ../seavgabios/vgabios-bochs-display.bin vgabios-bochs-display.bin
|
|
||||||
%endif
|
|
||||||
%ifarch x86_64
|
|
||||||
rom_link ../seabios/bios.bin bios.bin
|
|
||||||
rom_link ../seabios/bios-256k.bin bios-256k.bin
|
|
||||||
rom_link ../sgabios/sgabios.bin sgabios.bin
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{have_modules_load}
|
%if %{have_modules_load}
|
||||||
install -D -p -m 644 %{_sourcedir}/modules-load.conf %{buildroot}%{_sysconfdir}/modules-load.d/kvm.conf
|
install -D -p -m 644 %{_sourcedir}/modules-load.conf %{buildroot}%{_sysconfdir}/modules-load.d/kvm.conf
|
||||||
@ -1071,7 +1051,7 @@ rm -rf %{buildroot}%{qemudocdir}/specs
|
|||||||
|
|
||||||
pushd %{qemu_kvm_build}
|
pushd %{qemu_kvm_build}
|
||||||
echo "Testing %{name}-build"
|
echo "Testing %{name}-build"
|
||||||
make check V=1
|
%make_build check
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# endif !tools_only
|
# endif !tools_only
|
||||||
@ -1165,6 +1145,14 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%{_unitdir}/qemu-pr-helper.socket
|
%{_unitdir}/qemu-pr-helper.socket
|
||||||
%{_mandir}/man8/qemu-pr-helper.8*
|
%{_mandir}/man8/qemu-pr-helper.8*
|
||||||
|
|
||||||
|
%files -n qemu-virtiofsd
|
||||||
|
%{_mandir}/man1/virtiofsd.1*
|
||||||
|
%{_libexecdir}/virtiofsd
|
||||||
|
# This is the standard location for vhost-user JSON files defined in the
|
||||||
|
# vhost-user specification for interoperability with other software. Unlike
|
||||||
|
# most other paths we use it's "qemu" instead of "qemu-kvm".
|
||||||
|
%{_datadir}/qemu/vhost-user/50-qemu-virtiofsd.json
|
||||||
|
|
||||||
%files docs
|
%files docs
|
||||||
%doc %{qemudocdir}
|
%doc %{qemudocdir}
|
||||||
|
|
||||||
@ -1173,7 +1161,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%{_mandir}/man7/qemu-qmp-ref.7*
|
%{_mandir}/man7/qemu-qmp-ref.7*
|
||||||
%{_mandir}/man7/qemu-cpu-models.7*
|
%{_mandir}/man7/qemu-cpu-models.7*
|
||||||
%{_mandir}/man7/qemu-ga-ref.7*
|
%{_mandir}/man7/qemu-ga-ref.7*
|
||||||
%{_mandir}/man1/virtiofsd.1*
|
|
||||||
|
|
||||||
%dir %{_datadir}/%{name}/
|
%dir %{_datadir}/%{name}/
|
||||||
%{_datadir}/%{name}/keymaps/
|
%{_datadir}/%{name}/keymaps/
|
||||||
@ -1194,12 +1181,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%config(noreplace) %{_sysconfdir}/modprobe.d/kvm.conf
|
%config(noreplace) %{_sysconfdir}/modprobe.d/kvm.conf
|
||||||
|
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%{_datadir}/%{name}/bios.bin
|
|
||||||
%{_datadir}/%{name}/bios-256k.bin
|
|
||||||
%{_datadir}/%{name}/linuxboot.bin
|
%{_datadir}/%{name}/linuxboot.bin
|
||||||
%{_datadir}/%{name}/multiboot.bin
|
%{_datadir}/%{name}/multiboot.bin
|
||||||
%{_datadir}/%{name}/kvmvapic.bin
|
%{_datadir}/%{name}/kvmvapic.bin
|
||||||
%{_datadir}/%{name}/sgabios.bin
|
|
||||||
%{_datadir}/%{name}/pvh.bin
|
%{_datadir}/%{name}/pvh.bin
|
||||||
%endif
|
%endif
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
@ -1207,18 +1191,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%{_datadir}/%{name}/s390-netboot.img
|
%{_datadir}/%{name}/s390-netboot.img
|
||||||
%endif
|
%endif
|
||||||
%ifnarch aarch64 s390x
|
%ifnarch aarch64 s390x
|
||||||
%{_datadir}/%{name}/vgabios.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-cirrus.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-qxl.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-stdvga.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-vmware.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-virtio.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-ramfb.bin
|
|
||||||
%{_datadir}/%{name}/vgabios-bochs-display.bin
|
|
||||||
%{_datadir}/%{name}/efi-e1000.rom
|
|
||||||
%{_datadir}/%{name}/efi-e1000e.rom
|
|
||||||
%{_datadir}/%{name}/efi-virtio.rom
|
|
||||||
%{_datadir}/%{name}/efi-rtl8139.rom
|
|
||||||
%{_libdir}/%{name}/hw-display-virtio-vga.so
|
%{_libdir}/%{name}/hw-display-virtio-vga.so
|
||||||
%endif
|
%endif
|
||||||
%{_datadir}/icons/*
|
%{_datadir}/icons/*
|
||||||
@ -1229,11 +1201,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%if %{have_memlock_limits}
|
%if %{have_memlock_limits}
|
||||||
%{_sysconfdir}/security/limits.d/95-kvm-memlock.conf
|
%{_sysconfdir}/security/limits.d/95-kvm-memlock.conf
|
||||||
%endif
|
%endif
|
||||||
%{_libexecdir}/virtiofsd
|
|
||||||
# This is the standard location for vhost-user JSON files defined in the
|
|
||||||
# vhost-user specification for interoperability with other software. Unlike
|
|
||||||
# most other paths we use it's "qemu" instead of "qemu-kvm".
|
|
||||||
%{_datadir}/qemu/vhost-user/50-qemu-virtiofsd.json
|
|
||||||
|
|
||||||
%files core
|
%files core
|
||||||
%{_libexecdir}/qemu-kvm
|
%{_libexecdir}/qemu-kvm
|
||||||
@ -1277,6 +1244,31 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Aug 07 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-11
|
||||||
|
- kvm-arm-virt-Register-iommu-as-a-class-property.patch [bz#1838608]
|
||||||
|
- kvm-arm-virt-Register-its-as-a-class-property.patch [bz#1838608]
|
||||||
|
- kvm-arm-virt-Enable-ARM-RAS-support.patch [bz#1838608]
|
||||||
|
- kvm-block-Fix-in_flight-leak-in-request-padding-error-pa.patch [bz#1972079]
|
||||||
|
- kvm-spec-Remove-buildldflags.patch [bz#1973029]
|
||||||
|
- kvm-spec-Use-make_build-macro.patch [bz#1973029]
|
||||||
|
- kvm-spec-Drop-make-install-sharedir-and-datadir-usage.patch [bz#1973029]
|
||||||
|
- kvm-spec-use-make_install-macro.patch [bz#1973029]
|
||||||
|
- kvm-spec-parallelize-make-check.patch [bz#1973029]
|
||||||
|
- kvm-spec-Drop-explicit-build-id.patch [bz#1973029]
|
||||||
|
- kvm-spec-use-build_ldflags.patch [bz#1973029]
|
||||||
|
- kvm-Move-virtiofsd-to-separate-package.patch [bz#1979728]
|
||||||
|
- kvm-Utilize-firmware-configure-option.patch [bz#1980139]
|
||||||
|
- Resolves: bz#1838608
|
||||||
|
(aarch64: Enable ARMv8 RAS virtualization support)
|
||||||
|
- Resolves: bz#1972079
|
||||||
|
(Windows Installation blocked on 4k disk when using blk+raw+iothread)
|
||||||
|
- Resolves: bz#1973029
|
||||||
|
(Spec file cleanups)
|
||||||
|
- Resolves: bz#1979728
|
||||||
|
(Split out virtiofsd subpackage)
|
||||||
|
- Resolves: bz#1980139
|
||||||
|
(Use configure --firmwarepath more)
|
||||||
|
|
||||||
* Sun Jul 25 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-10
|
* Sun Jul 25 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-10
|
||||||
- kvm-s390x-css-Introduce-an-ESW-struct.patch [bz#1957194]
|
- kvm-s390x-css-Introduce-an-ESW-struct.patch [bz#1957194]
|
||||||
- kvm-s390x-css-Split-out-the-IRB-sense-data.patch [bz#1957194]
|
- kvm-s390x-css-Split-out-the-IRB-sense-data.patch [bz#1957194]
|
||||||
|
Loading…
Reference in New Issue
Block a user