[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/14] s390x/pci: fix pcistb length
From: |
Cornelia Huck |
Subject: |
[PULL 12/14] s390x/pci: fix pcistb length |
Date: |
Tue, 22 Dec 2020 11:45:01 +0100 |
From: Matthew Rosato <mjrosato@linux.ibm.com>
In pcistb_service_call, we are grabbing 8 bits from a guest register to
indicate the length of the store operation -- but per the architecture
the length is actually defined by 13 bits of the guest register.
Fixes: 863f6f52b7 ("s390: implement pci instructions")
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <1608243397-29428-2-git-send-email-mjrosato@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-inst.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index d9e1e29f1e29..e23029399886 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -755,7 +755,7 @@ int pcistb_service_call(S390CPU *cpu, uint8_t r1, uint8_t
r3, uint64_t gaddr,
int i;
uint32_t fh;
uint8_t pcias;
- uint8_t len;
+ uint16_t len;
uint8_t buffer[128];
if (env->psw.mask & PSW_MASK_PSTATE) {
@@ -765,7 +765,7 @@ int pcistb_service_call(S390CPU *cpu, uint8_t r1, uint8_t
r3, uint64_t gaddr,
fh = env->regs[r1] >> 32;
pcias = (env->regs[r1] >> 16) & 0xf;
- len = env->regs[r1] & 0xff;
+ len = env->regs[r1] & 0x1fff;
offset = env->regs[r3];
if (!(fh & FH_MASK_ENABLE)) {
--
2.26.2
- [PULL 03/14] qga/commands-posix: Send CCW address on s390x with the fsinfo data, (continued)
- [PULL 03/14] qga/commands-posix: Send CCW address on s390x with the fsinfo data, Cornelia Huck, 2020/12/22
- [PULL 01/14] s390x: pv: Fence additional unavailable SCLP facilities for PV guests, Cornelia Huck, 2020/12/22
- [PULL 04/14] target/s390x: Improve cc computation for ADD LOGICAL, Cornelia Huck, 2020/12/22
- [PULL 07/14] target/s390x: Improve SUB LOGICAL WITH BORROW, Cornelia Huck, 2020/12/22
- [PULL 05/14] target/s390x: Improve ADD LOGICAL WITH CARRY, Cornelia Huck, 2020/12/22
- [PULL 06/14] target/s390x: Improve cc computation for SUBTRACT LOGICAL, Cornelia Huck, 2020/12/22
- [PULL 08/14] tests/acceptance: test hot(un)plug of ccw devices, Cornelia Huck, 2020/12/22
- [PULL 09/14] tests/acceptance: Extract the code to clear dmesg and wait for CRW reports, Cornelia Huck, 2020/12/22
- [PULL 11/14] tests/acceptance: Test the virtio-balloon device on s390x, Cornelia Huck, 2020/12/22
- [PULL 10/14] tests/acceptance: Test virtio-rng on s390 via /dev/hwrng, Cornelia Huck, 2020/12/22
- [PULL 12/14] s390x/pci: fix pcistb length,
Cornelia Huck <=
- [PULL 13/14] s390x/pci: Fix memory_region_access_valid call, Cornelia Huck, 2020/12/22
- [PULL 14/14] tests/acceptance: Add a test with the Fedora 31 kernel and initrd, Cornelia Huck, 2020/12/22