From: Cornelia Huck <cohuck@redhat.com>
To: Pierre Morel <pmorel@linux.ibm.com>
Cc: kvm@vger.kernel.org, frankja@linux.ibm.com, david@redhat.com,
thuth@redhat.com, imbrenda@linux.ibm.com
Subject: Re: [kvm-unit-tests PATCH v3 14/16] s390x: css: issuing SSCH when the channel is status pending
Date: Tue, 6 Apr 2021 17:34:56 +0200 [thread overview]
Message-ID: <20210406173456.30d0c246.cohuck@redhat.com> (raw)
In-Reply-To: <1617694853-6881-15-git-send-email-pmorel@linux.ibm.com>
On Tue, 6 Apr 2021 09:40:51 +0200
Pierre Morel <pmorel@linux.ibm.com> wrote:
> We await CC=1 when we issue a SSCH on a channel with status pending.
>
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> ---
> lib/s390x/css.h | 2 ++
> s390x/css.c | 10 ++++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/lib/s390x/css.h b/lib/s390x/css.h
> index 08b2974..3eb6957 100644
> --- a/lib/s390x/css.h
> +++ b/lib/s390x/css.h
> @@ -90,6 +90,8 @@ struct scsw {
> #define SCSW_ESW_FORMAT 0x04000000
> #define SCSW_SUSPEND_CTRL 0x08000000
> #define SCSW_KEY 0xf0000000
> +#define SCSW_SSCH_COMPLETED (SCSW_CCW_FORMAT | SCSW_FC_START | SCSW_SC_PENDING | SCSW_SC_SECONDARY | \
> + SCSW_SC_PRIMARY)
> uint32_t ctrl;
> uint32_t ccw_addr;
> #define SCSW_DEVS_DEV_END 0x04
> diff --git a/s390x/css.c b/s390x/css.c
> index f8c6688..52264f2 100644
> --- a/s390x/css.c
> +++ b/s390x/css.c
> @@ -258,6 +258,15 @@ static void ssch_orb_fcx(void)
> orb->ctrl = tmp;
> }
>
> +static void ssch_status_pending(void)
> +{
> + assert(ssch(test_device_sid, orb) == 0);
> + report(ssch(test_device_sid, orb) == 1, "CC = 1");
I don't think that's correct in the general case (although it will work
for QEMU).
The PoP has a note about some models discarding the status pending, if
we have secondary status only (although I don't think that would happen
with this sequence.) You might also end up with cc 2 here, I think. In
theory, you could also get a cc 3 on real hardware, but that would be a
real edge case, and subsequent tests would fail anyway.
> + /* now we clear the status */
> + assert(tsch(test_device_sid, &irb) == 0);
> + check_io_completion(test_device_sid, SCSW_SSCH_COMPLETED);
> +}
> +
> static struct tests ssh_tests[] = {
> { "privilege", ssch_privilege },
> { "orb cpa zero", ssch_orb_cpa_zero },
> @@ -269,6 +278,7 @@ static struct tests ssh_tests[] = {
> { "ORB reserved CTRL bits", ssch_orb_ctrl },
> { "ORB extensions", ssch_orb_extension},
> { "FC extensions", ssch_orb_fcx},
> + { "status pending before ssch", ssch_status_pending},
> { NULL, NULL }
> };
>
next prev parent reply other threads:[~2021-04-06 15:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-06 7:40 [kvm-unit-tests PATCH v3 00/16] s390x: Testing SSCH, CSCH and HSCH for errors Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 01/16] s390x: lib: css: disabling a subchannel Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 02/16] s390x: lib: css: SCSW bit definitions Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 03/16] s390x: css: simplify skipping tests on no device Pierre Morel
2021-04-06 12:44 ` Cornelia Huck
2021-04-07 10:53 ` Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 04/16] s390x: lib: css: separate wait for IRQ and check I/O completion Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 05/16] s390x: lib: css: add SCSW ctrl expectations to " Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 06/16] s390x: lib: css: checking I/O errors Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 07/16] s390x: css: testing ssch errors Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 08/16] s390x: css: ssch check for cpa zero Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 09/16] s390x: css: ssch with mis aligned ORB Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 10/16] s390x: css: ssch checking addressing errors Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 11/16] s390x: css: No support for MIDAW Pierre Morel
2021-04-06 15:58 ` Cornelia Huck
2021-04-07 10:06 ` Pierre Morel
2021-04-07 10:14 ` Cornelia Huck
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 12/16] s390x: css: Check ORB reserved bits Pierre Morel
2021-04-06 15:51 ` Cornelia Huck
2021-04-07 10:07 ` Pierre Morel
2021-04-07 10:15 ` Cornelia Huck
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 13/16] s390x: css: checking for CSS extensions Pierre Morel
2021-04-06 15:50 ` Cornelia Huck
2021-04-07 10:42 ` Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 14/16] s390x: css: issuing SSCH when the channel is status pending Pierre Morel
2021-04-06 15:34 ` Cornelia Huck [this message]
2021-04-07 10:46 ` Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 15/16] s390x: css: testing halt subchannel Pierre Morel
2021-04-06 7:40 ` [kvm-unit-tests PATCH v3 16/16] s390x: css: testing clear subchannel Pierre Morel
2021-04-06 12:21 ` [kvm-unit-tests PATCH v3 00/16] s390x: Testing SSCH, CSCH and HSCH for errors 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=20210406173456.30d0c246.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=pmorel@linux.ibm.com \
--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