qemu-kvm/kvm-s390x-css-Split-out-the-IRB-sense-data.patch
Miroslav Rezanina 88586bd480 * 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-Split-out-the-IRB-sense-data.patch [bz#1957194]
- kvm-s390x-css-Refactor-IRB-construction.patch [bz#1957194]
- kvm-s390x-css-Add-passthrough-IRB.patch [bz#1957194]
- kvm-vhost-user-blk-Fail-gracefully-on-too-large-queue-si.patch [bz#1957194]
- kvm-vhost-user-blk-Make-sure-to-set-Error-on-realize-fai.patch [bz#1957194]
- kvm-vhost-user-blk-Don-t-reconnect-during-initialisation.patch [bz#1957194]
- kvm-vhost-user-blk-Improve-error-reporting-in-realize.patch [bz#1957194]
- kvm-vhost-user-blk-Get-more-feature-flags-from-vhost-dev.patch [bz#1957194]
- kvm-virtio-Fail-if-iommu_platform-is-requested-but-unsup.patch [bz#1957194]
- kvm-vhost-user-blk-Check-that-num-queues-is-supported-by.patch [bz#1957194]
- kvm-vhost-user-Fix-backends-without-multiqueue-support.patch [bz#1957194]
- kvm-file-posix-fix-max_iov-for-dev-sg-devices.patch [bz#1957194]
- kvm-scsi-generic-pass-max_segments-via-max_iov-field-in-.patch [bz#1957194]
- kvm-osdep-provide-ROUND_DOWN-macro.patch [bz#1957194]
- kvm-block-backend-align-max_transfer-to-request-alignmen.patch [bz#1957194]
- kvm-block-add-max_hw_transfer-to-BlockLimits.patch [bz#1957194]
- kvm-file-posix-try-BLKSECTGET-on-block-devices-too-do-no.patch [bz#1957194]
- kvm-block-Add-option-to-use-driver-whitelist-even-in-too.patch [bz#1957782]
- kvm-spec-Restrict-block-drivers-in-tools.patch [bz#1957782]
- kvm-Move-tools-to-separate-package.patch [bz#1972285]
- kvm-Split-qemu-pr-helper-to-separate-package.patch [bz#1972300]
- kvm-spec-RPM_BUILD_ROOT-buildroot.patch [bz#1973029]
- kvm-spec-More-use-of-name-instead-of-qemu-kvm.patch [bz#1973029]
- kvm-spec-Use-qemu-pr-helper.service-from-qemu.git.patch [bz#1973029]
- kvm-spec-Use-_sourcedir-for-referencing-sources.patch [bz#1973029]
- kvm-spec-Add-tools_only.patch [bz#1973029]
- kvm-spec-build-Add-run_configure-helper.patch [bz#1973029]
- kvm-spec-build-Disable-more-bits-with-disable_everything.patch [bz#1973029]
- kvm-spec-build-Add-macros-for-some-configure-parameters.patch [bz#1973029]
- kvm-spec-files-Move-qemu-guest-agent-and-qemu-img-earlie.patch [bz#1973029]
- kvm-spec-install-Remove-redundant-bits.patch [bz#1973029]
- kvm-spec-install-Add-modprobe_kvm_conf-macro.patch [bz#1973029]
- kvm-spec-install-Remove-qemu-guest-agent-etc-qemu-kvm-us.patch [bz#1973029]
- kvm-spec-install-clean-up-qemu-ga-section.patch [bz#1973029]
- kvm-spec-install-Use-a-single-tools_only-section.patch [bz#1973029]
- kvm-spec-Make-tools_only-not-cross-spec-sections.patch [bz#1973029]
- kvm-spec-install-Limit-time-spent-in-qemu_kvm_build.patch [bz#1973029]
- kvm-spec-misc-syntactic-merges-with-Fedora.patch [bz#1973029]
- kvm-spec-Use-Fedora-s-pattern-for-specifying-rc-version.patch [bz#1973029]
- kvm-spec-files-don-t-use-fine-grained-docs-file-list.patch [bz#1973029]
- kvm-spec-files-Add-licenses-to-qemu-common-too.patch [bz#1973029]
- kvm-spec-install-Drop-python3-shebang-fixup.patch [bz#1973029]
- Resolves: bz#1957194
  (Synchronize RHEL-AV 8.5.0 changes to RHEL 9.0.0 Beta)
- Resolves: bz#1957782
  (VMDK support should be read-only)
- Resolves: bz#1972285
  (Split out a qemu-kvm-tools subpackage)
- Resolves: bz#1972300
  (Split out a qemu-pr-helper subpackage)
- Resolves: bz#1973029
  (Spec file cleanups)
2021-07-25 22:55:18 -04:00

64 lines
2.2 KiB
Diff

From a987dfced200adf1e4c2d3c39f0b5da0fb7e6ead Mon Sep 17 00:00:00 2001
From: Eric Farman <farman@linux.ibm.com>
Date: Thu, 24 Jun 2021 14:15:14 -0400
Subject: [PATCH 02/43] s390x/css: Split out the IRB sense data
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
RH-Bugzilla: 1957194
Let's move this logic into its own routine,
so it can be reused later.
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210617232537.1337506-3-farman@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 1b01dedaed41c2ca6129475c22b7b778b109fae8)
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/s390x/css.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index bd3172a688..fac7d5b39d 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -1640,6 +1640,17 @@ static void copy_irb_to_guest(IRB *dest, const IRB *src, const PMCW *pmcw,
*irb_len = sizeof(*dest);
}
+static void build_irb_sense_data(SubchDev *sch, IRB *irb)
+{
+ int i;
+
+ /* Attention: sense_data is already BE! */
+ memcpy(irb->ecw, sch->sense_data, sizeof(sch->sense_data));
+ for (i = 0; i < ARRAY_SIZE(irb->ecw); i++) {
+ irb->ecw[i] = be32_to_cpu(irb->ecw[i]);
+ }
+}
+
int css_do_tsch_get_irb(SubchDev *sch, IRB *target_irb, int *irb_len)
{
SCHIB *schib = &sch->curr_status;
@@ -1670,14 +1681,8 @@ int css_do_tsch_get_irb(SubchDev *sch, IRB *target_irb, int *irb_len)
/* If a unit check is pending, copy sense data. */
if ((schib->scsw.dstat & SCSW_DSTAT_UNIT_CHECK) &&
(schib->pmcw.chars & PMCW_CHARS_MASK_CSENSE)) {
- int i;
-
irb.scsw.flags |= SCSW_FLAGS_MASK_ESWF | SCSW_FLAGS_MASK_ECTL;
- /* Attention: sense_data is already BE! */
- memcpy(irb.ecw, sch->sense_data, sizeof(sch->sense_data));
- for (i = 0; i < ARRAY_SIZE(irb.ecw); i++) {
- irb.ecw[i] = be32_to_cpu(irb.ecw[i]);
- }
+ build_irb_sense_data(sch, &irb);
irb.esw.erw = ESW_ERW_SENSE | (sizeof(sch->sense_data) << 8);
}
}
--
2.27.0