All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Pierre Morel <pmorel@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	frankja@linux.ibm.com, david@redhat.com, thuth@redhat.com
Subject: Re: [kvm-unit-tests PATCH v2 9/9] s390x: css: ping pong
Date: Mon, 2 Dec 2019 16:03:41 +0100	[thread overview]
Message-ID: <20191202160341.5e96fb81.cohuck@redhat.com> (raw)
In-Reply-To: <1574945167-29677-10-git-send-email-pmorel@linux.ibm.com>

On Thu, 28 Nov 2019 13:46:07 +0100
Pierre Morel <pmorel@linux.ibm.com> wrote:

> To test a write command with the SSCH instruction we need a QEMU device,
> with control unit type 0xC0CA. The PONG device is such a device.

"We want to test some read/write ccws via the SSCH instruction with a
QEMU device with control unit type 0xC0CA." ?

> 
> This type of device respond to PONG_WRITE requests by incrementing an

s/respond/responds/

> integer, stored as a string at offset 0 of the CCW data.
> 
> This is only a success test, no error expected.

Nobody expects the Spanish Inquisition^W^W^W an error :)

> 
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> ---
>  s390x/css.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 45 insertions(+), 1 deletion(-)
> 
> diff --git a/s390x/css.c b/s390x/css.c
> index 534864f..0761e70 100644
> --- a/s390x/css.c
> +++ b/s390x/css.c
> @@ -23,6 +23,10 @@
>  #define SID_ONE		0x00010000
>  #define PSW_PRG_MASK (PSW_MASK_IO | PSW_MASK_EA | PSW_MASK_BA)
>  
> +/* Local Channel Commands */

/* Channel commands for the PONG device */

?

> +#define PONG_WRITE	0x21 /* Write */
> +#define PONG_READ	0x22 /* Read buffer */
> +
>  struct lowcore *lowcore = (void *)0x0;
>  
>  static struct schib schib;
> @@ -31,7 +35,8 @@ static struct ccw ccw[NB_CCW];
>  #define NB_ORB  100
>  static struct orb orb[NB_ORB];
>  static struct irb irb;
> -static char buffer[0x1000] __attribute__ ((aligned(8)));
> +#define BUF_SZ	0x1000
> +static char buffer[BUF_SZ] __attribute__ ((aligned(8)));

Merge this with the introduction of this variable?

>  static struct senseid senseid;
>  
>  static const char *Channel_type[3] = {
> @@ -224,6 +229,44 @@ static void test_sense(void)
>  		report("cu_type: expect c0ca, got %04x", 0, senseid.cu_type);
>  }
>  
> +static void test_ping(void)
> +{
> +	int success, result;
> +	int cnt = 0, max = 4;
> +
> +	if (senseid.cu_type != PONG_CU) {
> +		report_skip("No PONG, no ping-pong");

:D

> +		return;
> +	}
> +
> +	enable_io_irq();

Hasn't that been enabled already for doing SenseID?

> +
> +	while (cnt++ < max) {
> +report_info("cnt..: %08x", cnt);

Wrong indentation?

> +		snprintf(buffer, BUF_SZ, "%08x\n", cnt);
> +		success = start_subchannel(PONG_WRITE, buffer, 8);
> +		if (!success) {
> +			report("start_subchannel failed", 0);
> +			return;
> +		}
> +		delay(100);
> +		success = start_subchannel(PONG_READ, buffer, 8);
> +		if (!success) {
> +			report("start_subchannel failed", 0);
> +			return;
> +		}
> +		result = atol(buffer);
> +		if (result != (cnt + 1)) {
> +			report("Bad answer from pong: %08x - %08x", 0, cnt, result);
> +			return;
> +		} else 
> +			report_info("%08x - %08x", cnt, result);
> +
> +		delay(100);
> +	}
> +	report("ping-pong count 0x%08x", 1, cnt);
> +}
> +
>  static struct {
>  	const char *name;
>  	void (*func)(void);
> @@ -231,6 +274,7 @@ static struct {
>  	{ "enumerate (stsch)", test_enumerate },
>  	{ "enable (msch)", test_enable },
>  	{ "sense (ssch/tsch)", test_sense },
> +	{ "ping-pong (ssch/tsch)", test_ping },
>  	{ NULL, NULL }
>  };
>  

  reply	other threads:[~2019-12-02 15:03 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-28 12:45 [kvm-unit-tests PATCH v2 0/9] s390x: Testing the Channel Subsystem I/O Pierre Morel
2019-11-28 12:45 ` [kvm-unit-tests PATCH v2 1/9] s390x: saving regs for interrupts Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 2/9] s390x: Define the PSW bits Pierre Morel
2019-11-28 14:36   ` David Hildenbrand
2019-11-28 19:16     ` Pierre Morel
2019-11-28 19:48       ` David Hildenbrand
2019-11-29 13:04         ` Pierre Morel
2019-12-02 11:11     ` Janosch Frank
2019-12-02 11:17       ` David Hildenbrand
2019-12-02 16:52         ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 3/9] s390x: irq: make IRQ handler weak Pierre Morel
2019-11-29 12:01   ` David Hildenbrand
2019-12-02 10:41     ` Thomas Huth
2019-12-02 16:55       ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 4/9] s390x: export the clock get_clock_ms() utility Pierre Morel
2019-11-29 12:03   ` David Hildenbrand
2019-11-29 13:04     ` Pierre Morel
2019-12-02 11:13     ` Janosch Frank
2019-12-02 17:03       ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 5/9] s390x: Library resources for CSS tests Pierre Morel
2019-12-02 14:06   ` Cornelia Huck
2019-12-02 17:33     ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 6/9] s390x: css: stsch, enumeration test Pierre Morel
2019-12-02 14:22   ` Cornelia Huck
2019-12-02 17:53     ` Pierre Morel
2019-12-02 18:15       ` Cornelia Huck
2019-12-02 18:33         ` Pierre Morel
2019-12-02 19:49           ` Cornelia Huck
2019-12-03  8:43             ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 7/9] s390x: css: msch, enable test Pierre Morel
2019-12-02 14:30   ` Cornelia Huck
2019-12-02 17:55     ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 8/9] s390x: css: ssch/tsch with sense and interrupt Pierre Morel
2019-12-02 14:55   ` Cornelia Huck
2019-12-02 18:18     ` Pierre Morel
2019-12-02 19:54       ` Cornelia Huck
2019-12-03  8:58         ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 9/9] s390x: css: ping pong Pierre Morel
2019-12-02 15:03   ` Cornelia Huck [this message]
2019-12-02 18:25     ` Pierre Morel
2019-12-06 14:18       ` 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=20191202160341.5e96fb81.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.