Message ID | 1594887809-10521-1-git-send-email-pmorel@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | s390x: Testing the Channel Subsystem I/O | expand |
On 7/16/20 10:23 AM, Pierre Morel wrote: > Hi All, > > This new respin of the series add modifications to > - patch 9: s390x: css: ssch/tsch with sense and interrupt > Other patches did not change. > > Recall: > > Goal of the series is to have a framework 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 program to define its own > interrupt handler. We need to do special work under interrupt like acknowledging > the interrupt. > > This series presents three 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, retrying a predefined count on failure > to enable the channel > Checks MSCH > > - Sense: > If the channel is enabled this test sends a SENSE_ID command > to the reference channel, analyzing the answer and expecting > the Control unit type being 0x3832, a.k.a. virtio-ccw. > Checks SSCH(READ) and IO-IRQ > > Note: > - The following 5 patches are general usage and may be pulled first: > s390x: saving regs for interrupts > s390x: I/O interrupt registration > s390x: export the clock get_clock_ms() utility > s390x: clock and delays calculations > s390x: define function to wait for interrupt > > - These 4 patches are really I/O oriented: > s390x: Library resources for CSS tests > s390x: css: stsch, enumeration test > s390x: css: msch, enable test > s390x: css: ssch/tsch with sense and interrupt > > Regards, > Pierre Thanks, picked > > Pierre Morel (9): > s390x: saving regs for interrupts > s390x: I/O interrupt registration > s390x: export the clock get_clock_ms() utility > s390x: clock and delays calculations > s390x: define function to wait for interrupt > s390x: Library resources for CSS tests > s390x: css: stsch, enumeration test > s390x: css: msch, enable test > s390x: css: ssch/tsch with sense and interrupt > > lib/s390x/asm/arch_def.h | 14 ++ > lib/s390x/asm/time.h | 50 ++++++ > lib/s390x/css.h | 294 +++++++++++++++++++++++++++++++++++ > lib/s390x/css_dump.c | 152 ++++++++++++++++++ > lib/s390x/css_lib.c | 323 +++++++++++++++++++++++++++++++++++++++ > lib/s390x/interrupt.c | 23 ++- > lib/s390x/interrupt.h | 8 + > s390x/Makefile | 3 + > s390x/css.c | 150 ++++++++++++++++++ > s390x/cstart64.S | 41 ++++- > s390x/intercept.c | 11 +- > s390x/unittests.cfg | 4 + > 12 files changed, 1060 insertions(+), 13 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 >