[kvm-unit-tests PATCH v2 0/9] s390x: Further extend instruction interception tests

Nico Boehr
2022-03-23T17:03:35Z

Changelog from v1:
* check reserved fields in store adtl status (thanks Claudio)
* check all possible length codes for vector and gs store adtl status (thanks
Claudio)
* store adtl status: fix run under TCG
* store adtl status: avoid 0 in vector reg 0, use a struct instead of offsets
for the mcesa, add some comments (thanks Claudio)

Further extend the instruction interception tests for s390x. This series focuses
on SIGP, STSI and TPROT instructions.

Some instructions such as STSI already had some coverage and the existing tests
were extended to increase coverage.

The SIGP instruction has coverage, but not for all orders. Orders
STORE_ADTL_STATUS, SET_PREFIX and CONDITIONAL_EMERGENCY didn't
have coverage before and new tests are added. For EMERGENCY_SIGNAL, the existing
test is extended to cover an invalid CPU address. Additionally, new tests are
added for quite a few invalid arguments to SIGP.

TPROT was used in skrf tests, but only for storage keys, so add tests for the
other uses as well.

Nico Boehr (9):
s390x: smp: add tests for several invalid SIGP orders
s390x: smp: stop already stopped CPU
s390x: gs: move to new header file
s390x: smp: add test for SIGP_STORE_ADTL_STATUS order
s390x: smp: add tests for SET_PREFIX
s390x: smp: add test for EMERGENCY_SIGNAL with invalid CPU address
s390x: smp: add tests for CONDITIONAL EMERGENCY
s390x: add TPROT tests
s390x: stsi: check zero and ignored bits in r0 and r1

lib/s390x/gs.h | 80 +++++++
s390x/Makefile | 1 +
s390x/gs.c | 65 +-----
s390x/smp.c | 519 ++++++++++++++++++++++++++++++++++++++++++++
s390x/stsi.c | 42 +++-
s390x/tprot.c | 108 +++++++++
s390x/unittests.cfg | 25 ++-
7 files changed, 765 insertions(+), 75 deletions(-)
create mode 100644 lib/s390x/gs.h
create mode 100644 s390x/tprot.c

--
2.31.1