Re: [RFC PATCH 05/12] s390/cio: add protected virtualization support to cio

Cornelia Huck
2019-04-10T16:16:12Z

On Wed, 10 Apr 2019 15:02:25 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> On Wed, 10 Apr 2019 10:25:57 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:

> > So, what is a high-level summary of areas that need the treatment?
> > What I get from looking at the patches so far, it's:
> > - stuff that is written by the hypervisor's interrupt injection code:
> > IRB, indicators, etc.
>
> In interrupt context IRB behaves like a control block. We don't have
> to make it shared.
>
> I moved IRB because of snse:
>
>
> @@ -329,9 +329,9 @@ ccw_device_do_sense(struct ccw_device *cdev, struct
> irb *irb) /*
> * We have ending status but no sense information. Do a basic
> sense. */
> - sense_ccw = &to_io_private(sch)->sense_ccw;
> + sense_ccw = &to_io_private(sch)->dma_area->sense_ccw;
> sense_ccw->cmd_code = CCW_CMD_BASIC_SENSE;
> - sense_ccw->cda = (__u32) __pa(cdev->private->irb.ecw);
> + sense_ccw->cda = (__u32) __pa(cdev->private->dma_area->irb.ecw);
>
> as the irb.ecw is used as channel program data. And that needs to be
> shared.

Ah, I see. So it's more "guest points to some memory where the
hypervisor needs to write data"?

>
> > - buffers that are filled by a channel program: sense, sense id, etc.
> > - ccws themselves (because of translation?)
> >
>
> Right. The idea is: smallish, basically fixed size a readily available
> control blocks (specified as a ) are copied back and forth by the

As a what? :)

> ultravisor (via SIE SD).

Ok. It's really hard to be sure from the outside what falls into which