From: Cornelia Huck <cohuck@redhat.com>
To: Halil Pasic <pasic@linux.vnet.ibm.com>
Cc: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,
Pierre Morel <pmorel@linux.vnet.ibm.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 1/4] s390x/css: introduce css data stream
Date: Thu, 14 Sep 2017 11:08:20 +0200 [thread overview]
Message-ID: <20170914110820.0de92331.cohuck@redhat.com> (raw)
In-Reply-To: <20170913115029.47626-2-pasic@linux.vnet.ibm.com>
On Wed, 13 Sep 2017 13:50:26 +0200
Halil Pasic <pasic@linux.vnet.ibm.com> wrote:
> This is a preparation for introducing handling for indirect data
> addressing and modified indirect data addressing (CCW). Here we introduce
> an interface which should make the addressing scheme transparent for the
> client code. Here we implement only the basic scheme (no IDA or MIDA).
>
> Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> ---
> hw/s390x/css.c | 55 +++++++++++++++++++++++++++++++++++++++++
> include/hw/s390x/css.h | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 122 insertions(+)
>
> +void ccw_dstream_init(CcwDataStream *cds, CCW1 const *ccw, ORB const *orb)
> +{
> + /*
> + * We don't support MIDA (an optional facility) yet and we
> + * catch this earlier. Just for expressing the precondition.
> + */
> + g_assert(!(orb->ctrl1 & ORB_CTRL1_MASK_MIDAW));
> + cds->flags = (orb->ctrl0 & ORB_CTRL0_MASK_I2K ? CDS_F_I2K : 0) |
> + (orb->ctrl0 & ORB_CTRL0_MASK_C64 ? CDS_F_C64 : 0) |
> + (ccw->flags & CCW_FLAG_IDA ? CDS_F_IDA : 0);
> + cds->count = ccw->count;
> + cds->cda_orig = ccw->cda;
> + ccw_dstream_rewind(cds);
> + if (!(cds->flags & CDS_F_IDA)) {
> + cds->op_handler = ccw_dstream_rw_noflags;
> + } else {
> + assert(false);
g_assert_not_reached() might have been better; but as this is removed
anyway in patch 4, it does not matter.
> + }
> +}
>
> static int css_interpret_ccw(SubchDev *sch, hwaddr ccw_addr,
> bool suspend_allowed)
> diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
> index 0653d3c9be..79acaf99b7 100644
> --- a/include/hw/s390x/css.h
> +++ b/include/hw/s390x/css.h
> @@ -75,6 +75,29 @@ typedef struct CMBE {
> uint32_t reserved[7];
> } QEMU_PACKED CMBE;
>
> +typedef enum CcwDataStreamOp {
> + CDS_OP_R = 0,
> + CDS_OP_W = 1,
> + CDS_OP_A = 2
> +} CcwDataStreamOp;
> +
> +/** normal usage is via SuchchDev.cds instead of instantiating */
/* instead of /**? Can change while applying.
> +typedef struct CcwDataStream {
> +#define CDS_F_IDA 0x01
> +#define CDS_F_MIDA 0x02
> +#define CDS_F_I2K 0x04
> +#define CDS_F_C64 0x08
> +#define CDS_F_STREAM_BROKEN 0x80
> + uint8_t flags;
> + uint8_t at_idaw;
> + uint16_t at_byte;
> + uint16_t count;
> + uint32_t cda_orig;
> + int (*op_handler)(struct CcwDataStream *cds, void *buff, int len,
> + CcwDataStreamOp op);
> + hwaddr cda;
> +} CcwDataStream;
> +
> typedef struct SubchDev SubchDev;
> struct SubchDev {
> /* channel-subsystem related things: */
next prev parent reply other threads:[~2017-09-14 9:08 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-13 11:50 [Qemu-devel] [PATCH v2 0/4] add CCW indirect data access support Halil Pasic
2017-09-13 11:50 ` [Qemu-devel] [PATCH v2 1/4] s390x/css: introduce css data stream Halil Pasic
2017-09-14 9:08 ` Cornelia Huck [this message]
2017-09-19 2:21 ` Dong Jia Shi
2017-09-19 8:38 ` Cornelia Huck
2017-09-19 9:11 ` Pierre Morel
2017-09-19 9:53 ` Cornelia Huck
2017-09-19 11:41 ` Pierre Morel
2017-09-19 12:16 ` Halil Pasic
2017-09-19 13:55 ` Pierre Morel
2017-09-13 11:50 ` [Qemu-devel] [PATCH v2 2/4] s390x/css: use ccw " Halil Pasic
2017-09-19 2:45 ` Dong Jia Shi
2017-09-19 13:57 ` Pierre Morel
2017-09-13 11:50 ` [Qemu-devel] [PATCH v2 3/4] virtio-ccw: " Halil Pasic
2017-09-14 8:47 ` Cornelia Huck
2017-09-19 3:37 ` Dong Jia Shi
2017-09-19 9:06 ` Cornelia Huck
2017-09-19 13:30 ` Halil Pasic
2017-09-20 1:16 ` Dong Jia Shi
2017-09-19 14:07 ` Pierre Morel
2017-09-13 11:50 ` [Qemu-devel] [PATCH v2 4/4] s390x/css: support ccw IDA Halil Pasic
2017-09-14 9:14 ` Cornelia Huck
2017-09-19 5:50 ` Dong Jia Shi
2017-09-19 9:48 ` Cornelia Huck
2017-09-19 10:36 ` Halil Pasic
2017-09-19 10:57 ` Cornelia Huck
2017-09-19 12:04 ` Halil Pasic
2017-09-19 12:23 ` Cornelia Huck
2017-09-19 12:32 ` Halil Pasic
2017-09-19 14:34 ` Cornelia Huck
2017-09-19 18:05 ` Halil Pasic
2017-09-20 1:37 ` Dong Jia Shi
2017-09-20 6:40 ` Dong Jia Shi
2017-09-19 13:46 ` Pierre Morel
2017-09-19 16:49 ` Halil Pasic
2017-09-14 9:15 ` [Qemu-devel] [PATCH v2 0/4] add CCW indirect data access support Cornelia Huck
2017-09-14 11:02 ` Halil Pasic
2017-09-14 11:19 ` Cornelia Huck
2017-09-14 14:16 ` Cornelia Huck
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=20170914110820.0de92331.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=bjsdjshi@linux.vnet.ibm.com \
--cc=pasic@linux.vnet.ibm.com \
--cc=pmorel@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/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.