* Mon Jul 19 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-9

- kvm-s390x-cpumodel-add-3931-and-3932.patch [bz#1932191]
- kvm-spapr-Fix-EEH-capability-issue-on-KVM-guest-for-PCI-.patch [bz#1957194]
- kvm-ppc-pef.c-initialize-cgs-ready-in-kvmppc_svm_init.patch [bz#1957194]
- kvm-redhat-Move-qemu-kvm-docs-dependency-to-qemu-kvm.patch [bz#1957194]
- kvm-redhat-introducting-qemu-kvm-hw-usbredir.patch [bz#1957194]
- kvm-redhat-use-the-standard-vhost-user-JSON-path.patch [bz#1957194]
- Resolves: bz#1932191
  ([IBM 9.0 FEAT] CPU Model for new IBM Z Hardware - qemu part (kvm))
- Resolves: bz#1957194
  (Synchronize RHEL-AV 8.5.0 changes to RHEL 9.0.0 Beta)
This commit is contained in:
Miroslav Rezanina 2021-07-19 03:04:28 -04:00
parent 0cede3b3b7
commit 0e98626e1b
4 changed files with 408 additions and 10 deletions

View File

@ -0,0 +1,69 @@
From e496360f627cdc4202f185b63175ced08c8b1f07 Mon Sep 17 00:00:00 2001
From: Daniel Henrique Barboza <danielhb413@gmail.com>
Date: Wed, 23 Jun 2021 19:39:32 -0400
Subject: [PATCH 3/6] ppc/pef.c: initialize cgs->ready in kvmppc_svm_init()
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
RH-MergeRequest: 22: Synchronize with RHEL-AV 8.5 release 23 to RHEL 9
RH-Commit: [2/5] b204f898d2333686e30b14c050ac7a9289670f23 (mrezanin/centos-src-qemu-kvm)
RH-Bugzilla: 1957194
QEMU is failing to launch a CGS pSeries guest in a host that has PEF
support:
qemu-system-ppc64: ../softmmu/vl.c:2585: qemu_machine_creation_done: Assertion `machine->cgs->ready' failed.
Aborted
This is happening because we're not setting the cgs->ready flag that is
asserted in qemu_machine_creation_done() during machine start.
cgs->ready is set in s390_pv_kvm_init() and sev_kvm_init(). Let's set it
in kvmppc_svm_init() as well.
Reported-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20210528201619.52363-1-danielhb413@gmail.com>
Acked-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
(cherry picked from commit b873ed83311d96644b544b10f6869a430660585a)
Signed-off-by: Daniel Henrique Barboza <dbarboza@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/ppc/pef.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c
index 573be3ed79..cc44d5e339 100644
--- a/hw/ppc/pef.c
+++ b/hw/ppc/pef.c
@@ -41,7 +41,7 @@ struct PefGuest {
ConfidentialGuestSupport parent_obj;
};
-static int kvmppc_svm_init(Error **errp)
+static int kvmppc_svm_init(ConfidentialGuestSupport *cgs, Error **errp)
{
#ifdef CONFIG_KVM
static Error *pef_mig_blocker;
@@ -65,6 +65,8 @@ static int kvmppc_svm_init(Error **errp)
/* NB: This can fail if --only-migratable is used */
migrate_add_blocker(pef_mig_blocker, &error_fatal);
+ cgs->ready = true;
+
return 0;
#else
g_assert_not_reached();
@@ -102,7 +104,7 @@ int pef_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
return -1;
}
- return kvmppc_svm_init(errp);
+ return kvmppc_svm_init(cgs, errp);
}
int pef_kvm_reset(ConfidentialGuestSupport *cgs, Error **errp)
--
2.27.0

View File

@ -0,0 +1,134 @@
From 5536da8458b7825b084bfc94256bfdc1ca0127a3 Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <borntraeger@de.ibm.com>
Date: Tue, 22 Jun 2021 22:19:23 +0200
Subject: [PATCH 1/6] s390x/cpumodel: add 3931 and 3932
RH-Author: Cornelia Huck <cohuck@redhat.com>
RH-MergeRequest: 21: s390x/cpumodel: add 3931 and 3932
RH-Commit: [1/1] b678fdf9364407c615678980330e496676e04f9e (cohuck/qemu-kvm-c9s)
RH-Bugzilla: 1932191
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: David Hildenbrand <david@redhat.com>
RH-Acked-by: Thomas Huth <thuth@redhat.com>
This defines 5 new facilities and the new 3931 and 3932 machines.
As before the name is not yet known and we do use gen16a and gen16b.
The new features are part of the full model.
The default model is still empty (same as z15) and will be added
in a separate patch at a later point in time.
Also add the dependencies of new facilities and as a fix for z15 add
a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
S390_VECTOR_PACKED_DECIMAL.
[merged <20210701084348.26556-1-borntraeger@de.ibm.com>]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20210622201923.150205-2-borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit fb4a08121695a88acefcbcd86f1376df079eefee)
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
target/s390x/cpu_features_def.h.inc | 5 +++++
target/s390x/cpu_models.c | 6 ++++++
target/s390x/gen-features.c | 14 ++++++++++++++
3 files changed, 25 insertions(+)
diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
index 7db3449e04..e86662bb3b 100644
--- a/target/s390x/cpu_features_def.h.inc
+++ b/target/s390x/cpu_features_def.h.inc
@@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
+DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
+DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
+DEF_FEAT(BEAR_ENH, "beareh", STFL, 193, "BEAR-enhancement facility")
+DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
+DEF_FEAT(PAI, "pai", STFL, 196, "Processor-Activity-Instrumentation facility")
/* Features exposed via SCLP SCCB Byte 80 - 98 (bit numbers relative to byte-80) */
DEF_FEAT(SIE_GSLS, "gsls", SCLP_CONF_CHAR, 40, "SIE: Guest-storage-limit-suppression facility")
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 9254ff46bf..3cb4d25a10 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -88,6 +88,8 @@ static S390CPUDef s390_cpu_defs[] = {
CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM z15 T01 GA1"),
CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "gen15b", "IBM z15 T02 GA1"),
+ CPUDEF_INIT(0x3931, 16, 1, 47, 0x08000000U, "gen16a", "IBM 3931 GA1"),
+ CPUDEF_INIT(0x3932, 16, 1, 47, 0x08000000U, "gen16b", "IBM 3932 GA1"),
};
#define QEMU_MAX_CPU_TYPE 0x2964
@@ -815,6 +817,8 @@ static void check_consistency(const S390CPUModel *model)
{ S390_FEAT_MSA_EXT_9, S390_FEAT_MSA_EXT_4 },
{ S390_FEAT_MULTIPLE_EPOCH, S390_FEAT_TOD_CLOCK_STEERING },
{ S390_FEAT_VECTOR_PACKED_DECIMAL, S390_FEAT_VECTOR },
+ { S390_FEAT_VECTOR_PACKED_DECIMAL_ENH, S390_FEAT_VECTOR_PACKED_DECIMAL },
+ { S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH },
{ S390_FEAT_VECTOR_ENH, S390_FEAT_VECTOR },
{ S390_FEAT_INSTRUCTION_EXEC_PROT, S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2 },
{ S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2, S390_FEAT_ESOP },
@@ -846,6 +850,8 @@ static void check_consistency(const S390CPUModel *model)
{ S390_FEAT_PTFF_STOUE, S390_FEAT_MULTIPLE_EPOCH },
{ S390_FEAT_AP_QUEUE_INTERRUPT_CONTROL, S390_FEAT_AP },
{ S390_FEAT_DIAG_318, S390_FEAT_EXTENDED_LENGTH_SCCB },
+ { S390_FEAT_NNPA, S390_FEAT_VECTOR },
+ { S390_FEAT_RDP, S390_FEAT_LOCAL_TLB_CLEARING },
};
int i;
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index a6ec918e90..8f99cea665 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -424,6 +424,8 @@ static uint16_t base_GEN15_GA1[] = {
S390_FEAT_MISC_INSTRUCTION_EXT3,
};
+#define base_GEN16_GA1 EmptyFeat
+
/* Full features (in order of release)
* Automatically includes corresponding base features.
* Full features are all features this hardware supports even if kvm/QEMU do not
@@ -567,6 +569,15 @@ static uint16_t full_GEN15_GA1[] = {
S390_FEAT_UNPACK,
};
+static uint16_t full_GEN16_GA1[] = {
+ S390_FEAT_NNPA,
+ S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2,
+ S390_FEAT_BEAR_ENH,
+ S390_FEAT_RDP,
+ S390_FEAT_PAI,
+};
+
+
/* Default features (in order of release)
* Automatically includes corresponding base features.
* Default features are all features this version of QEMU supports for this
@@ -652,6 +663,8 @@ static uint16_t default_GEN15_GA1[] = {
S390_FEAT_ETOKEN,
};
+#define default_GEN16_GA1 EmptyFeat
+
/* QEMU (CPU model) features */
static uint16_t qemu_V2_11[] = {
@@ -782,6 +795,7 @@ static CpuFeatDefSpec CpuFeatDef[] = {
CPU_FEAT_INITIALIZER(GEN14_GA1),
CPU_FEAT_INITIALIZER(GEN14_GA2),
CPU_FEAT_INITIALIZER(GEN15_GA1),
+ CPU_FEAT_INITIALIZER(GEN16_GA1),
};
#define FEAT_GROUP_INITIALIZER(_name) \
--
2.27.0

View File

@ -0,0 +1,160 @@
From 389b2a01f9b75575996eaab195a9697840ae5f29 Mon Sep 17 00:00:00 2001
From: Mahesh Salgaonkar <mahesh@linux.ibm.com>
Date: Wed, 30 Jun 2021 13:27:47 -0400
Subject: [PATCH 2/6] spapr: Fix EEH capability issue on KVM guest for PCI
passthru
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
RH-MergeRequest: 22: Synchronize with RHEL-AV 8.5 release 23 to RHEL 9
RH-Commit: [1/5] 86642761bad229c080e180ea9ebd0a4f67d2a4f7 (mrezanin/centos-src-qemu-kvm)
RH-Bugzilla: 1957194
With upstream kernel, especially after commit 98ba956f6a389
("powerpc/pseries/eeh: Rework device EEH PE determination") we see that KVM
guest isn't able to enable EEH option for PCI pass-through devices anymore.
[root@atest-guest ~]# dmesg | grep EEH
[ 0.032337] EEH: pSeries platform initialized
[ 0.298207] EEH: No capable adapters found: recovery disabled.
[root@atest-guest ~]#
So far the linux kernel was assuming pe_config_addr equal to device's
config_addr and using it to enable EEH on the PE through ibm,set-eeh-option
RTAS call. Which wasn't the correct way as per PAPR. The linux kernel
commit 98ba956f6a389 fixed this flow. With that fixed, linux now uses PE
config address returned by ibm,get-config-addr-info2 RTAS call to enable
EEH option per-PE basis instead of per-device basis. However this has
uncovered a bug in qemu where ibm,set-eeh-option is treating PE config
address as per-device config address.
Hence in qemu guest with recent kernel the ibm,set-eeh-option RTAS call
fails with -3 return value indicating that there is no PCI device exist for
the specified PE config address. The rtas_ibm_set_eeh_option call uses
pci_find_device() to get the PC device that matches specific bus and devfn
extracted from PE config address passed as argument. Thus it tries to map
the PE config address to a single specific PCI device 'bus->devices[devfn]'
which always results into checking device on slot 0 'bus->devices[0]'.
This succeeds when there is a pass-through device (vfio-pci) present on
slot 0. But in cases where there is no pass-through device present in slot
0, but present in non-zero slots, ibm,set-eeh-option call fails to enable
the EEH capability.
hw/ppc/spapr_pci_vfio.c: spapr_phb_vfio_eeh_set_option()
case RTAS_EEH_ENABLE: {
PCIHostState *phb;
PCIDevice *pdev;
/*
* The EEH functionality is enabled on basis of PCI device,
* instead of PE. We need check the validity of the PCI
* device address.
*/
phb = PCI_HOST_BRIDGE(sphb);
pdev = pci_find_device(phb->bus,
(addr >> 16) & 0xFF, (addr >> 8) & 0xFF);
if (!pdev || !object_dynamic_cast(OBJECT(pdev), "vfio-pci")) {
return RTAS_OUT_PARAM_ERROR;
}
hw/pci/pci.c:pci_find_device()
PCIDevice *pci_find_device(PCIBus *bus, int bus_num, uint8_t devfn)
{
bus = pci_find_bus_nr(bus, bus_num);
if (!bus)
return NULL;
return bus->devices[devfn];
}
This patch fixes ibm,set-eeh-option to check for presence of any PCI device
(vfio-pci) under specified bus and enable the EEH if found. The current
code already makes sure that all the devices on that bus are from same
iommu group (within same PE) and fail very early if it does not.
After this fix guest is able to find EEH capable devices and enable EEH
recovery on it.
[root@atest-guest ~]# dmesg | grep EEH
[ 0.048139] EEH: pSeries platform initialized
[ 0.405115] EEH: Capable adapter found: recovery enabled.
[root@atest-guest ~]#
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.ibm.com>
Message-Id: <162158429107.145117.5843504911924013125.stgit@jupiter>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
(cherry picked from commit ac9ef668321ebb6eb871a0c4dd380fa7d7891b4e)
Signed-off-by: Daniel Henrique Barboza <dbarboza@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/ppc/spapr_pci_vfio.c | 40 +++++++++++++++++++++++++++++++++-------
1 file changed, 33 insertions(+), 7 deletions(-)
diff --git a/hw/ppc/spapr_pci_vfio.c b/hw/ppc/spapr_pci_vfio.c
index e0547b1740..6587c8cb5b 100644
--- a/hw/ppc/spapr_pci_vfio.c
+++ b/hw/ppc/spapr_pci_vfio.c
@@ -47,6 +47,16 @@ void spapr_phb_vfio_reset(DeviceState *qdev)
spapr_phb_vfio_eeh_reenable(SPAPR_PCI_HOST_BRIDGE(qdev));
}
+static void spapr_eeh_pci_find_device(PCIBus *bus, PCIDevice *pdev,
+ void *opaque)
+{
+ bool *found = opaque;
+
+ if (object_dynamic_cast(OBJECT(pdev), "vfio-pci")) {
+ *found = true;
+ }
+}
+
int spapr_phb_vfio_eeh_set_option(SpaprPhbState *sphb,
unsigned int addr, int option)
{
@@ -59,17 +69,33 @@ int spapr_phb_vfio_eeh_set_option(SpaprPhbState *sphb,
break;
case RTAS_EEH_ENABLE: {
PCIHostState *phb;
- PCIDevice *pdev;
+ bool found = false;
/*
- * The EEH functionality is enabled on basis of PCI device,
- * instead of PE. We need check the validity of the PCI
- * device address.
+ * The EEH functionality is enabled per sphb level instead of
+ * per PCI device. We have already identified this specific sphb
+ * based on buid passed as argument to ibm,set-eeh-option rtas
+ * call. Now we just need to check the validity of the PCI
+ * pass-through devices (vfio-pci) under this sphb bus.
+ * We have already validated that all the devices under this sphb
+ * are from same iommu group (within same PE) before comming here.
+ *
+ * Prior to linux commit 98ba956f6a389 ("powerpc/pseries/eeh:
+ * Rework device EEH PE determination") kernel would call
+ * eeh-set-option for each device in the PE using the device's
+ * config_address as the argument rather than the PE address.
+ * Hence if we check validity of supplied config_addr whether
+ * it matches to this PHB will cause issues with older kernel
+ * versions v5.9 and older. If we return an error from
+ * eeh-set-option when the argument isn't a valid PE address
+ * then older kernels (v5.9 and older) will interpret that as
+ * EEH not being supported.
*/
phb = PCI_HOST_BRIDGE(sphb);
- pdev = pci_find_device(phb->bus,
- (addr >> 16) & 0xFF, (addr >> 8) & 0xFF);
- if (!pdev || !object_dynamic_cast(OBJECT(pdev), "vfio-pci")) {
+ pci_for_each_device(phb->bus, (addr >> 16) & 0xFF,
+ spapr_eeh_pci_find_device, &found);
+
+ if (!found) {
return RTAS_OUT_PARAM_ERROR;
}
--
2.27.0

View File

@ -65,6 +65,9 @@
%if %{have_opengl} \ %if %{have_opengl} \
Requires: %{name}-ui-opengl = %{epoch}:%{version}-%{release} \ Requires: %{name}-ui-opengl = %{epoch}:%{version}-%{release} \
%endif \ %endif \
%if %{have_usbredir} \
Requires: %{name}-hw-usbredir = %{epoch}:%{version}-%{release} \
%endif \
Requires: %{name}-block-curl = %{epoch}:%{version}-%{release} \ Requires: %{name}-block-curl = %{epoch}:%{version}-%{release} \
Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \ Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \
Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release} Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release}
@ -72,7 +75,7 @@ Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release}
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: 8%{?rcversion}%{?dist} Release: 9%{?rcversion}%{?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)
@ -191,6 +194,12 @@ Patch51: kvm-docs-Add-SEV-ES-documentation-to-amd-memory-encrypti.patch
Patch52: kvm-docs-interop-firmware.json-Add-SEV-ES-support.patch Patch52: kvm-docs-interop-firmware.json-Add-SEV-ES-support.patch
# For bz#1978911 - Remove TPM Passthrough option from RHEL 9 # For bz#1978911 - Remove TPM Passthrough option from RHEL 9
Patch53: kvm-Disable-TPM-passthrough.patch Patch53: kvm-Disable-TPM-passthrough.patch
# For bz#1932191 - [IBM 9.0 FEAT] CPU Model for new IBM Z Hardware - qemu part (kvm)
Patch54: kvm-s390x-cpumodel-add-3931-and-3932.patch
# For bz#1957194 - Synchronize RHEL-AV 8.5.0 changes to RHEL 9.0.0 Beta
Patch55: kvm-spapr-Fix-EEH-capability-issue-on-KVM-guest-for-PCI-.patch
# For bz#1957194 - Synchronize RHEL-AV 8.5.0 changes to RHEL 9.0.0 Beta
Patch56: kvm-ppc-pef.c-initialize-cgs-ready-in-kvmppc_svm_init.patch
# Source-git patches # Source-git patches
@ -255,7 +264,7 @@ BuildRequires: perl-Test-Harness
BuildRequires: libslirp-devel BuildRequires: libslirp-devel
Requires: qemu-kvm-core = %{epoch}:%{version}-%{release} Requires: qemu-kvm-core = %{epoch}:%{version}-%{release}
Requires: %{name}-docs = %{epoch}:%{version}-%{release}
%{requires_all_modules} %{requires_all_modules}
%define qemudocdir %{_docdir}/%{name} %define qemudocdir %{_docdir}/%{name}
@ -271,7 +280,6 @@ hardware for a full system such as a PC and its associated peripherals.
Summary: qemu-kvm core components Summary: qemu-kvm core components
Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: qemu-img = %{epoch}:%{version}-%{release} Requires: qemu-img = %{epoch}:%{version}-%{release}
Recommends: qemu-kvm-docs
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
Requires: edk2-ovmf Requires: edk2-ovmf
%endif %endif
@ -281,9 +289,6 @@ Requires: edk2-aarch64
Requires: libseccomp >= %{libseccomp_version} Requires: libseccomp >= %{libseccomp_version}
Requires: libusbx >= %{libusbx_version} Requires: libusbx >= %{libusbx_version}
%if %{have_usbredir}
Requires: usbredir >= %{usbredir_version}
%endif
%if %{have_fdt} %if %{have_fdt}
Requires: libfdt >= %{libfdt_version} Requires: libfdt >= %{libfdt_version}
%endif %endif
@ -411,6 +416,15 @@ Requires: mesa-dri-drivers
This package provides opengl support. This package provides opengl support.
%endif %endif
%if %{have_usbredir}
%package hw-usbredir
Summary: QEMU usbredir support
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
Requires: usbredir >= 0.7.1
%description hw-usbredir
This package provides usbredir support.
%endif
%prep %prep
%if 0%{?rcversion} %if 0%{?rcversion}
@ -771,6 +785,10 @@ make DESTDIR=$RPM_BUILD_ROOT \
install install
mkdir -p $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset mkdir -p $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset
# Move vhost-user JSON files to the standard "qemu" directory
mkdir -p $RPM_BUILD_ROOT%{_datadir}/qemu
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/vhost-user $RPM_BUILD_ROOT%{_datadir}/qemu/
%endif %endif
# Install qemu-guest-agent service and udev rules # Install qemu-guest-agent service and udev rules
@ -1139,7 +1157,10 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_sysconfdir}/security/limits.d/95-kvm-memlock.conf %{_sysconfdir}/security/limits.d/95-kvm-memlock.conf
%endif %endif
%{_libexecdir}/virtiofsd %{_libexecdir}/virtiofsd
%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json # 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 -n qemu-kvm-core %files -n qemu-kvm-core
%{_libexecdir}/qemu-kvm %{_libexecdir}/qemu-kvm
@ -1149,9 +1170,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_datadir}/%{name}/systemtap/script.d/qemu_kvm.stp %{_datadir}/%{name}/systemtap/script.d/qemu_kvm.stp
%{_datadir}/%{name}/systemtap/conf.d/qemu_kvm.conf %{_datadir}/%{name}/systemtap/conf.d/qemu_kvm.conf
%if %{have_usbredir}
%{_libdir}/qemu-kvm/hw-usb-redirect.so
%endif
%{_libdir}/qemu-kvm/hw-display-virtio-gpu.so %{_libdir}/qemu-kvm/hw-display-virtio-gpu.so
%ifarch s390x %ifarch s390x
%{_libdir}/qemu-kvm/hw-s390x-virtio-gpu-ccw.so %{_libdir}/qemu-kvm/hw-s390x-virtio-gpu-ccw.so
@ -1200,9 +1218,26 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_libdir}/qemu-kvm/ui-egl-headless.so %{_libdir}/qemu-kvm/ui-egl-headless.so
%{_libdir}/qemu-kvm/ui-opengl.so %{_libdir}/qemu-kvm/ui-opengl.so
%endif %endif
%if %{have_usbredir}
%files hw-usbredir
%{_libdir}/qemu-kvm/hw-usb-redirect.so
%endif
%endif %endif
%changelog %changelog
* Mon Jul 19 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-9
- kvm-s390x-cpumodel-add-3931-and-3932.patch [bz#1932191]
- kvm-spapr-Fix-EEH-capability-issue-on-KVM-guest-for-PCI-.patch [bz#1957194]
- kvm-ppc-pef.c-initialize-cgs-ready-in-kvmppc_svm_init.patch [bz#1957194]
- kvm-redhat-Move-qemu-kvm-docs-dependency-to-qemu-kvm.patch [bz#1957194]
- kvm-redhat-introducting-qemu-kvm-hw-usbredir.patch [bz#1957194]
- kvm-redhat-use-the-standard-vhost-user-JSON-path.patch [bz#1957194]
- Resolves: bz#1932191
([IBM 9.0 FEAT] CPU Model for new IBM Z Hardware - qemu part (kvm))
- Resolves: bz#1957194
(Synchronize RHEL-AV 8.5.0 changes to RHEL 9.0.0 Beta)
* Mon Jul 12 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-8 * Mon Jul 12 2021 Miroslav Rezanina <mrezanin@redhat.com> - 6.0.0-8
- kvm-Disable-TPM-passthrough.patch [bz#1978911] - kvm-Disable-TPM-passthrough.patch [bz#1978911]
- kvm-redhat-Replace-the-kvm-setup.service-with-a-etc-modu.patch [bz#1978837] - kvm-redhat-Replace-the-kvm-setup.service-with-a-etc-modu.patch [bz#1978837]