qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 2df59b: s390x/css: fix PMCW invalid mask


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 2df59b: s390x/css: fix PMCW invalid mask
Date: Wed, 19 Jan 2022 08:43:18 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 2df59b73e0864f021f6179f32f7ed364f6d4f38d
      
https://github.com/qemu/qemu/commit/2df59b73e0864f021f6179f32f7ed364f6d4f38d
  Author: Nico Boehr <nrb@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M include/hw/s390x/ioinst.h

  Log Message:
  -----------
  s390x/css: fix PMCW invalid mask

Previously, we required bits 5, 6 and 7 to be zero (0x07 == 0b111). But,
as per the principles of operation, bit 5 is ignored in MSCH and bits 0,
1, 6 and 7 need to be zero.

As both PMCW_FLAGS_MASK_INVALID and ioinst_schib_valid() are only used
by ioinst_handle_msch(), adjust the mask accordingly.

Fixes: db1c8f53bfb1 ("s390: Channel I/O basic definitions.")
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20211216131657.1057978-1-nrb@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 521130f267240cb1ed8fd4635496493a153281db
      
https://github.com/qemu/qemu/commit/521130f267240cb1ed8fd4635496493a153281db
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M target/s390x/tcg/insn-data.def

  Log Message:
  -----------
  target/s390x: Fix SLDA sign bit index

SLDA operates on 64-bit values, so its sign bit index should be 63,
not 31.

Fixes: a79ba3398a0a ("target-s390: Convert SHIFT DOUBLE")
Reported-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220112165016.226996-2-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 57556b28afde4b039bb12bfc274bd8df9022d946
      
https://github.com/qemu/qemu/commit/57556b28afde4b039bb12bfc274bd8df9022d946
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Fix SRDA CC calculation

SRDA uses r1_D32 for binding the first operand and s64 for setting CC.
cout_s64() relies on o->out being the shift result, however,
wout_r1_D32() clobbers it.

Fix by using a temporary.

Fixes: a79ba3398a0a ("target-s390: Convert SHIFT DOUBLE")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220112165016.226996-3-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: df103c09bc2f549d36ba6313a69c18fc003ef1ee
      
https://github.com/qemu/qemu/commit/df103c09bc2f549d36ba6313a69c18fc003ef1ee
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M target/s390x/tcg/cc_helper.c

  Log Message:
  -----------
  target/s390x: Fix cc_calc_sla_64() missing overflows

An overflow occurs for SLAG when at least one shifted bit is not equal
to sign bit. Therefore, we need to check that `shift + 1` bits are
neither all 0s nor all 1s. The current code checks only `shift` bits,
missing some overflows.

Fixes: cbe24bfa91d2 ("target-s390: Convert SHIFT, ROTATE SINGLE")
Co-developed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220112165016.226996-4-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6da170beda33f3e7f1d9242814acd9f428f0f0fb
      
https://github.com/qemu/qemu/commit/6da170beda33f3e7f1d9242814acd9f428f0f0fb
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M target/s390x/cpu-dump.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/cc_helper.c
    M target/s390x/tcg/insn-data.def
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Fix shifting 32-bit values for more than 31 bits

According to PoP, both 32- and 64-bit shifts use lowest 6 address
bits. The current code special-cases 32-bit shifts to use only 5 bits,
which is not correct. For example, shifting by 32 bits currently
preserves the initial value, however, it's supposed zero it out
instead.

Fix by merging sh32 and sh64 and adapting CC calculation to shift
values greater than 31.

Fixes: cbe24bfa91d2 ("target-s390: Convert SHIFT, ROTATE SINGLE")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220112165016.226996-5-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f7cff0738d1bc66b530a6c200874eb86575048f4
      
https://github.com/qemu/qemu/commit/f7cff0738d1bc66b530a6c200874eb86575048f4
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2022-01-17 (Mon, 17 Jan 2022)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/shift.c

  Log Message:
  -----------
  tests/tcg/s390x: Test shift instructions

Add a test for each shift instruction in order to to prevent
regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220112165016.226996-6-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 56e34834029c7c6862cb0095d95ad83c50485f88
      
https://github.com/qemu/qemu/commit/56e34834029c7c6862cb0095d95ad83c50485f88
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: split out s390x sections

Split out some more specialized devices etc., so that we can build
smarter lists of people to be put on cc: in the future.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Acked-by: Eric Farman <farman@linux.ibm.com>
Message-Id: <20211222105548.356852-1-cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6a6d3dfd6ed57d624dbbef116c8328d70d49130f
      
https://github.com/qemu/qemu/commit/6a6d3dfd6ed57d624dbbef116c8328d70d49130f
  Author: Eric Farman <farman@linux.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add myself to s390 I/O areas

After the recent restructuring, I'd like to volunteer to help
in some of the s390 I/O areas.

Built on "[PATCH RFC v2] MAINTAINERS: split out s390x sections"

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Message-Id: <20220112164044.2210508-1-farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b2173046a64beed76715f310f98538f159276af1
      
https://github.com/qemu/qemu/commit/b2173046a64beed76715f310f98538f159276af1
  Author: Marc Hartmayer <mhartmay@linux.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390x/ipl: support extended kernel command line size

In the past s390 used a fixed command line length of 896 bytes. This has changed
with the Linux commit 5ecb2da660ab ("s390: support command lines longer than 896
bytes"). There is now a parm area indicating the maximum command line size. This
parm area has always been initialized to zero, so with older kernels this field
would read zero and we must then assume that only 896 bytes are available.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Viktor Mihajlovski <mihajlov@de.ibm.com>
Message-Id: <20211122112909.18138-1-mhartmay@linux.ibm.com>
[thuth: Cosmetic fixes, and use PRIu64 instead of %lu]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 59b9b5186e44a90088a91ed7a7493b03027e4f1f
      
https://github.com/qemu/qemu/commit/59b9b5186e44a90088a91ed7a7493b03027e4f1f
  Author: Eric Farman <farman@linux.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M target/s390x/sigp.c

  Log Message:
  -----------
  s390x: sigp: Reorder the SIGP STOP code

Let's wait to mark the VCPU STOPPED until the possible
STORE STATUS operation is completed, so that we know the
CPU is fully stopped and done doing anything. (When we
also clear the possible sigp_order field for STOP orders.)

Suggested-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Message-Id: <20211213210919.856693-2-farman@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5e0214cdeee17de949f2565f4429c15173179ae3
      
https://github.com/qemu/qemu/commit/5e0214cdeee17de949f2565f4429c15173179ae3
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-01-19 (Wed, 19 Jan 2022)

  Changed paths:
    M MAINTAINERS
    M hw/s390x/ipl.c
    M include/hw/s390x/ioinst.h
    M target/s390x/cpu-dump.c
    M target/s390x/s390x-internal.h
    M target/s390x/sigp.c
    M target/s390x/tcg/cc_helper.c
    M target/s390x/tcg/insn-data.def
    M target/s390x/tcg/translate.c
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/shift.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/thuth-gitlab/tags/pull-request-2022-01-19' into staging

* Fix bits in one of the PMCW channel subsystem masks
* s390x TCG shift instruction fixes
* Re-organization for the MAINTAINERS file
* Support for extended length of kernel command lines
* Re-order the SIGP STOP code

# gpg: Signature made Wed 19 Jan 2022 08:26:01 GMT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/thuth-gitlab/tags/pull-request-2022-01-19:
  s390x: sigp: Reorder the SIGP STOP code
  s390x/ipl: support extended kernel command line size
  MAINTAINERS: Add myself to s390 I/O areas
  MAINTAINERS: split out s390x sections
  tests/tcg/s390x: Test shift instructions
  target/s390x: Fix shifting 32-bit values for more than 31 bits
  target/s390x: Fix cc_calc_sla_64() missing overflows
  target/s390x: Fix SRDA CC calculation
  target/s390x: Fix SLDA sign bit index
  s390x/css: fix PMCW invalid mask

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/3d228a741acc...5e0214cdeee1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]