mbox series

[kvm-unit-tests,v5,00/10] s390x: Testing the Channel Subsystem I/O

Message ID 1582200043-21760-1-git-send-email-pmorel@linux.ibm.com (mailing list archive)
Headers show
Series s390x: Testing the Channel Subsystem I/O | expand

Message

Pierre Morel Feb. 20, 2020, noon UTC
Goal of the series is to have a framwork to test Channel-Subsystem I/O with
QEMU/KVM.
  
To be able to support interrupt for CSS I/O and for SCLP we need to modify
the interrupt framework to allow re-entrant interruptions.
  
We add a registration for IRQ callbacks to the test programm to define its own
interrupt handler. We need to do special work under interrupt like acknoledging
the interrupt.
  
Being working on PSW bits to allow I/O interrupt, we define new PSW bits
in arch_def.h and use __ASSEMBLER__ define to be able to include this header
in an assembler source file.

This series presents four major tests:
- Enumeration:
        The CSS is enumerated using the STSCH instruction recursively on all
        potentially existing channels.
        Keeping the first channel found as a reference for future use.
        Checks STSCH
 
- Enable:
        If the enumeration succeeded the tests enables the reference
        channel with MSCH and verifies with STSCH that the channel is
        effectively enabled  
        Checks MSCH       
 
- Sense:
        If the channel is enabled this test sends a SENSE_ID command
        to the reference channel, analysing the answer and expecting
        the Control unit type being 0xc0ca
        Checks SSCH(READ) and IO-IRQ

- ping-pong:
        If the reference channel leads to the PONG device (0xc0ca),
        the test exchanges a string containing a 9 digit number with
        the PONG device and expecting this number to be incremented
        by the PONG device.
        Checks SSCH(WRITE)


Pierre Morel (10):
  s390x: saving regs for interrupts
  s390x: Use PSW bits definitions in cstart
  s390x: cr0: adding AFP-register control bit
  s390x: interrupt registration
  s390x: export the clock get_clock_ms() utility
  s390x: Library resources for CSS tests
  s390x: css: stsch, enumeration test
  s390x: css: msch, enable test
  s390x: css: ssch/tsch with sense and interrupt
  s390x: css: ping pong

 lib/s390x/asm/arch_def.h |  19 ++-
 lib/s390x/asm/time.h     |  36 +++++
 lib/s390x/css.h          | 277 +++++++++++++++++++++++++++++++
 lib/s390x/css_dump.c     | 157 ++++++++++++++++++
 lib/s390x/css_lib.c      |  55 +++++++
 lib/s390x/interrupt.c    |  22 ++-
 lib/s390x/interrupt.h    |   7 +
 s390x/Makefile           |   3 +
 s390x/css.c              | 341 +++++++++++++++++++++++++++++++++++++++
 s390x/cstart64.S         |  40 +++--
 s390x/intercept.c        |  11 +-
 s390x/unittests.cfg      |   4 +
 12 files changed, 946 insertions(+), 26 deletions(-)
 create mode 100644 lib/s390x/asm/time.h
 create mode 100644 lib/s390x/css.h
 create mode 100644 lib/s390x/css_dump.c
 create mode 100644 lib/s390x/css_lib.c
 create mode 100644 lib/s390x/interrupt.h
 create mode 100644 s390x/css.c

Comments

Pierre Morel April 21, 2020, 4:13 p.m. UTC | #1
On 2020-02-20 13:00, Pierre Morel wrote:

...snip...

> 
> 
> Pierre Morel (10):
>    s390x: saving regs for interrupts
>    s390x: Use PSW bits definitions in cstart
>    s390x: cr0: adding AFP-register control bit
>    s390x: export the clock get_clock_ms() utility

Please can you consider applying these 4 patches only.
I will send some changes I made for the patches on css tests.

I did not change the interrupt registration but since it is introduced 
for the css test patches I resend it with them.

Thanks,
Pierre

 >    s390x: interrupt registration

>    s390x: Library resources for CSS tests
>    s390x: css: stsch, enumeration test
>    s390x: css: msch, enable test
>    s390x: css: ssch/tsch with sense and interrupt
>    s390x: css: ping pong
> 
>   lib/s390x/asm/arch_def.h |  19 ++-
>   lib/s390x/asm/time.h     |  36 +++++
>   lib/s390x/css.h          | 277 +++++++++++++++++++++++++++++++
>   lib/s390x/css_dump.c     | 157 ++++++++++++++++++
>   lib/s390x/css_lib.c      |  55 +++++++
>   lib/s390x/interrupt.c    |  22 ++-
>   lib/s390x/interrupt.h    |   7 +
>   s390x/Makefile           |   3 +
>   s390x/css.c              | 341 +++++++++++++++++++++++++++++++++++++++
>   s390x/cstart64.S         |  40 +++--
>   s390x/intercept.c        |  11 +-
>   s390x/unittests.cfg      |   4 +
>   12 files changed, 946 insertions(+), 26 deletions(-)
>   create mode 100644 lib/s390x/asm/time.h
>   create mode 100644 lib/s390x/css.h
>   create mode 100644 lib/s390x/css_dump.c
>   create mode 100644 lib/s390x/css_lib.c
>   create mode 100644 lib/s390x/interrupt.h
>   create mode 100644 s390x/css.c
>
David Hildenbrand April 21, 2020, 4:18 p.m. UTC | #2
On 21.04.20 18:13, Pierre Morel wrote:
> 
> 
> On 2020-02-20 13:00, Pierre Morel wrote:
> 
> ...snip...
> 
>>
>>
>> Pierre Morel (10):
>>    s390x: saving regs for interrupts
>>    s390x: Use PSW bits definitions in cstart
>>    s390x: cr0: adding AFP-register control bit
>>    s390x: export the clock get_clock_ms() utility
> 
> Please can you consider applying these 4 patches only.
> I will send some changes I made for the patches on css tests.
> 

The first one requires a little more brain power - can anybody at IBM
help reviewing that?
Janosch Frank April 22, 2020, 7:43 a.m. UTC | #3
On 4/21/20 6:18 PM, David Hildenbrand wrote:
> On 21.04.20 18:13, Pierre Morel wrote:
>>
>>
>> On 2020-02-20 13:00, Pierre Morel wrote:
>>
>> ...snip...
>>
>>>
>>>
>>> Pierre Morel (10):
>>>    s390x: saving regs for interrupts
>>>    s390x: Use PSW bits definitions in cstart
>>>    s390x: cr0: adding AFP-register control bit
>>>    s390x: export the clock get_clock_ms() utility
>>
>> Please can you consider applying these 4 patches only.
>> I will send some changes I made for the patches on css tests.
>>
> 
> The first one requires a little more brain power - can anybody at IBM
> help reviewing that?
> 

I'll try to understand it :)

But I think we need a new series anyway.
@Pierre: You told me, that you removed delay() and this series still has
it. With the changes needed to the second patch and the delay change we
need all information to make decisions, so a new version of the series
would make sense.
Pierre Morel April 22, 2020, 9:17 a.m. UTC | #4
On 2020-04-22 09:43, Janosch Frank wrote:
> On 4/21/20 6:18 PM, David Hildenbrand wrote:
>> On 21.04.20 18:13, Pierre Morel wrote:
>>>
>>>
>>> On 2020-02-20 13:00, Pierre Morel wrote:
>>>
>>> ...snip...
>>>
>>>>
>>>>
>>>> Pierre Morel (10):
>>>>     s390x: saving regs for interrupts
>>>>     s390x: Use PSW bits definitions in cstart
>>>>     s390x: cr0: adding AFP-register control bit
>>>>     s390x: export the clock get_clock_ms() utility
>>>
>>> Please can you consider applying these 4 patches only.
>>> I will send some changes I made for the patches on css tests.
>>>
>>
>> The first one requires a little more brain power - can anybody at IBM
>> help reviewing that?
>>
> 
> I'll try to understand it :)
> 
> But I think we need a new series anyway.
> @Pierre: You told me, that you removed delay() and this series still has
> it. With the changes needed to the second patch and the delay change we
> need all information to make decisions, so a new version of the series
> would make sense.
> 
> 

Yes, this is clear, the next series will have some modifications for the 
css part.
Also I will send two series, first the general patches with bug fixes 
and comments and in a separate series the css specific patches.

Regards,
Pierre