From: Pierre Morel <pmorel@linux.ibm.com>
To: kvm@vger.kernel.org
Cc: linux-s390@vger.kernel.org, frankja@linux.ibm.com,
david@redhat.com, thuth@redhat.com, cohuck@redhat.com
Subject: [kvm-unit-tests PATCH v5 00/10] s390x: Testing the Channel Subsystem I/O
Date: Thu, 20 Feb 2020 13:00:33 +0100 [thread overview]
Message-ID: <1582200043-21760-1-git-send-email-pmorel@linux.ibm.com> (raw)
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
--
2.17.0
Changelog:
from v4 to v5
- add a patch to explicitely define the initial_cr0
value
(Janosch)
- add RB from Janosh on interrupt registration
- several formating, typo correction and removing
unnecessary initialization in "linrary resources..."
(Janosch)
- several formating and typo corrections on
"stsch enumeration test"
(Connie)
- reworking the msch test
(Connie)
- reworking of ssch test, pack the sense-id structure
(Connie)
from v3 to v4
- add RB from David and Thomas for patchs
(3) irq registration and (4) clock export
- rework the PSW bit definitions
(Thomas)
- Suppress undef DEBUG from css_dump
(Thomas)
- rework report() functions using new scheme
(Thomas)
- suppress un-necessary report_info()
- more spelling corrections
- add a loop around enable bit testing
(Connie)
- rework IRQ testing
(Connie)
- Test data addresses to be under 2G
(Connie)
from v2 to v3:
- Rework spelling
(Connie)
- More descriptions
(Connie)
- use __ASSEMBLER__ preprocessing to keep
bits definitions and C structures in the same file
(David)
- rename the new file clock.h as time.h
(Janosch, David?)
- use registration for the IO interruption
(David, Thomas)
- test the SCHIB to verify it has really be modified
(Connie)
- Lot of simplifications in the tests
(Connie)
from v1 to v2:
- saving floating point registers (David, Janosh)
- suppress unused PSW bits defintions (Janosh)
- added Thomas reviewed-by
- style and comments modifications (Connie, Janosh)
- moved get_clock_ms() into headers and use it (Thomas)
- separate header and library utility from tests
- Suppress traces, separate tests, make better usage of reports
next reply other threads:[~2020-02-20 12:01 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-20 12:00 Pierre Morel [this message]
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 01/10] s390x: saving regs for interrupts Pierre Morel
2020-04-22 7:47 ` Janosch Frank
2020-04-22 9:09 ` Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 02/10] s390x: Use PSW bits definitions in cstart Pierre Morel
2020-04-21 16:16 ` David Hildenbrand
2020-04-22 5:53 ` Pierre Morel
2020-04-22 7:35 ` Janosch Frank
2020-04-22 7:44 ` David Hildenbrand
2020-04-22 8:59 ` Pierre Morel
2020-04-22 9:07 ` David Hildenbrand
2020-04-22 9:09 ` Pierre Morel
2020-04-22 9:06 ` Pierre Morel
2020-04-22 9:13 ` Janosch Frank
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 03/10] s390x: cr0: adding AFP-register control bit Pierre Morel
2020-04-21 16:15 ` David Hildenbrand
2020-04-22 5:54 ` Pierre Morel
2020-04-22 7:39 ` Janosch Frank
2020-04-22 9:11 ` Pierre Morel
2020-04-22 7:59 ` Cornelia Huck
2020-04-22 9:12 ` Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 04/10] s390x: interrupt registration Pierre Morel
2020-04-24 8:27 ` Janosch Frank
2020-04-24 10:44 ` Pierre Morel
2020-04-24 10:49 ` Cornelia Huck
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 05/10] s390x: export the clock get_clock_ms() utility Pierre Morel
2020-04-22 8:05 ` Cornelia Huck
2020-04-22 9:12 ` Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 06/10] s390x: Library resources for CSS tests Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 07/10] s390x: css: stsch, enumeration test Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 08/10] s390x: css: msch, enable test Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 09/10] s390x: css: ssch/tsch with sense and interrupt Pierre Morel
2020-02-20 12:00 ` [kvm-unit-tests PATCH v5 10/10] s390x: css: ping pong Pierre Morel
2020-04-21 16:13 ` [kvm-unit-tests PATCH v5 00/10] s390x: Testing the Channel Subsystem I/O Pierre Morel
2020-04-21 16:18 ` David Hildenbrand
2020-04-22 7:43 ` Janosch Frank
2020-04-22 9:17 ` Pierre Morel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1582200043-21760-1-git-send-email-pmorel@linux.ibm.com \
--to=pmorel@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox