mbox series

[kvm-unit-tests,v3,00/16] s390x: Testing SSCH, CSCH and HSCH for errors

Message ID 1617694853-6881-1-git-send-email-pmorel@linux.ibm.com (mailing list archive)
Headers show
Series s390x: Testing SSCH, CSCH and HSCH for errors | expand

Message

Pierre Morel April 6, 2021, 7:40 a.m. UTC
The goal of this series is to test some of the I/O instructions,
SSCH, CSCH and HSCH for errors like invalid parameters, addressing,
timing etc.
We can not test the sending of an instruction before the last instruction
has been proceeded by QEMU due to the QEMU serialization but we can 
check the behavior of an instruction if it is started before the status
of the last instruction is read.

To do this we first separate the waiting for the interruption and the
checking of the IRB and enable the subchannel without an I/O ISC to
avoid interruptions at this subchannel and second, we add an argument
to the routine in charge to check the IRB representing the expected
SCSW control field of the IRB.

We also need several other enhancements to the testing environment:

- definitions for the SCSW control bits
- a new function to disable a subchannel
- a macro to simplify skiping tests when no device is present
  (I know the warning about return in macro, can we accept it?)

In the new tests we assume that all the test preparation is working and
use asserts for all function for which we do not expect a failure.

regards,
Pierre

PS: Sorry, I needed to modify patches 4 and 5 for which I already had RB or AB.
    I removed them even I hope you will agree with my modifications.


Pierre Morel (16):
  s390x: lib: css: disabling a subchannel
  s390x: lib: css: SCSW bit definitions
  s390x: css: simplify skipping tests on no device
  s390x: lib: css: separate wait for IRQ and check I/O completion
  s390x: lib: css: add SCSW ctrl expectations to check I/O completion
  s390x: lib: css: checking I/O errors
  s390x: css: testing ssch errors
  s390x: css: ssch check for cpa zero
  s390x: css: ssch with mis aligned ORB
  s390x: css: ssch checking addressing errors
  s390x: css: No support for MIDAW
  s390x: css: Check ORB reserved bits
  s390x: css: checking for CSS extensions
  s390x: css: issuing SSCH when the channel is status pending
  s390x: css: testing halt subchannel
  s390x: css: testing clear subchannel

 lib/s390x/css.h     |  42 ++++-
 lib/s390x/css_lib.c | 138 ++++++++++++--
 s390x/css.c         | 425 +++++++++++++++++++++++++++++++++++++++++---
 s390x/unittests.cfg |   8 +-
 4 files changed, 565 insertions(+), 48 deletions(-)

Comments

Pierre Morel April 6, 2021, 12:21 p.m. UTC | #1
Hi all,

I forgot to write that some tests about addressing will fail if the 
following QEMU patch is not installed:

Subject: [PATCH v1 0/1] s390x: css: report errors from 
ccw_dstream_read/write
Date: Tue,  6 Apr 2021 09:44:12 +0200
Message-Id: <1617695053-7328-1-git-send-email-pmorel@linux.ibm.com>


Regards,
Pierre


On 4/6/21 9:40 AM, Pierre Morel wrote:
> The goal of this series is to test some of the I/O instructions,
> SSCH, CSCH and HSCH for errors like invalid parameters, addressing,
> timing etc.
> We can not test the sending of an instruction before the last instruction
> has been proceeded by QEMU due to the QEMU serialization but we can
> check the behavior of an instruction if it is started before the status
> of the last instruction is read.
> 
> To do this we first separate the waiting for the interruption and the
> checking of the IRB and enable the subchannel without an I/O ISC to
> avoid interruptions at this subchannel and second, we add an argument
> to the routine in charge to check the IRB representing the expected
> SCSW control field of the IRB.
> 
> We also need several other enhancements to the testing environment:
> 
> - definitions for the SCSW control bits
> - a new function to disable a subchannel
> - a macro to simplify skiping tests when no device is present
>    (I know the warning about return in macro, can we accept it?)
> 
> In the new tests we assume that all the test preparation is working and
> use asserts for all function for which we do not expect a failure.
> 
> regards,
> Pierre
> 
> PS: Sorry, I needed to modify patches 4 and 5 for which I already had RB or AB.
>      I removed them even I hope you will agree with my modifications.
> 
> 
> Pierre Morel (16):
>    s390x: lib: css: disabling a subchannel
>    s390x: lib: css: SCSW bit definitions
>    s390x: css: simplify skipping tests on no device
>    s390x: lib: css: separate wait for IRQ and check I/O completion
>    s390x: lib: css: add SCSW ctrl expectations to check I/O completion
>    s390x: lib: css: checking I/O errors
>    s390x: css: testing ssch errors
>    s390x: css: ssch check for cpa zero
>    s390x: css: ssch with mis aligned ORB
>    s390x: css: ssch checking addressing errors
>    s390x: css: No support for MIDAW
>    s390x: css: Check ORB reserved bits
>    s390x: css: checking for CSS extensions
>    s390x: css: issuing SSCH when the channel is status pending
>    s390x: css: testing halt subchannel
>    s390x: css: testing clear subchannel
> 
>   lib/s390x/css.h     |  42 ++++-
>   lib/s390x/css_lib.c | 138 ++++++++++++--
>   s390x/css.c         | 425 +++++++++++++++++++++++++++++++++++++++++---
>   s390x/unittests.cfg |   8 +-
>   4 files changed, 565 insertions(+), 48 deletions(-)
>