hw/s390x/css.c | 186 +++++++++++++++++++++++++++++++++++++++++++++++-- hw/s390x/virtio-ccw.c | 155 ++++++++++++----------------------------- include/hw/s390x/css.h | 68 ++++++++++++++++++ 3 files changed, 296 insertions(+), 113 deletions(-)
Abstract -------- The objective of this series is introducing CCW IDA (indirect data access) support to our virtual channel subsystem implementation. Briefly CCW IDA can be thought of as a kind of a scatter gather support for a single CCW. If certain flags are set, the cda is to be interpreted as an address to a list which in turn holds further addresses designating the actual data. Thus the scheme which we are currently using for accessing CCW payload does not work in general case. Currently there is no immediate need for proper IDA handling (no use case), but since it IDA is a non-optional part of the architecture, the only way towards AR compliance is actually implementing IDA. The focus of this patch set is introducing IDA support. There seems to be a potential for further improvements based on the introduced infrastructure, but such improvements are intended to be discusses separately and realized as patches on top of this series. Testing ------- On request the things meant for testing from v1 were factored out into a separate series (requested by Connie). Please look for the series 'tests for CCW IDA' (see [1]) or use the stuff form v1. [1] https://lists.nongnu.org/archive/html/qemu-devel/2017-09/msg03489.html Changelog --------- v3 --> v4: * fixed the first level address limit check in patch #5 * refactored second level address limit check in patch #5 * nits in patch #5 * rebased, otherwise patches #1-#4 unchanged * added an r-b for patch #3 v2 --> v3: * added maximum data address checking (see patch #4) (Dong Jia) To not mix converting to the new infrastructure and changing behavior, this is done after the conversion. For IDA the same (on both IDAL and data level) is now a part of the respective patch (was missing in v2). * even less nits, and improved aesthetics (mostly Dong Jia) v1 --> v2: * factored out the stuff added only for testing * use g_assert instead of assert * fixed a lot's of typos * removed some TODOs addressed by another series of mine * refactored ccw_dstream_rw_ida (structured programming) * done some rewording of commit message #3 Halil Pasic (5): s390x/css: introduce css data stream s390x/css: use ccw data stream virtio-ccw: use ccw data stream 390x/css: introduce maximum data address checking s390x/css: support ccw IDA hw/s390x/css.c | 186 +++++++++++++++++++++++++++++++++++++++++++++++-- hw/s390x/virtio-ccw.c | 155 ++++++++++++----------------------------- include/hw/s390x/css.h | 68 ++++++++++++++++++ 3 files changed, 296 insertions(+), 113 deletions(-) -- 2.13.5
On Thu, 21 Sep 2017 20:08:36 +0200 Halil Pasic <pasic@linux.vnet.ibm.com> wrote: > Abstract > -------- > > The objective of this series is introducing CCW IDA (indirect data > access) support to our virtual channel subsystem implementation. Briefly > CCW IDA can be thought of as a kind of a scatter gather support for a > single CCW. If certain flags are set, the cda is to be interpreted as an > address to a list which in turn holds further addresses designating the > actual data. Thus the scheme which we are currently using for accessing > CCW payload does not work in general case. Currently there is no > immediate need for proper IDA handling (no use case), but since it IDA is > a non-optional part of the architecture, the only way towards AR > compliance is actually implementing IDA. > > The focus of this patch set is introducing IDA support. There seems to be > a potential for further improvements based on the introduced > infrastructure, but such improvements are intended to be discusses > separately and realized as patches on top of this series. Hm, do you have a list of what you want to do as follow-on patches? (Checking return codes, ...) It's easy to lose track of all this :)
On 09/26/2017 12:18 PM, Cornelia Huck wrote: > On Thu, 21 Sep 2017 20:08:36 +0200 > Halil Pasic <pasic@linux.vnet.ibm.com> wrote: > >> Abstract >> -------- >> >> The objective of this series is introducing CCW IDA (indirect data >> access) support to our virtual channel subsystem implementation. Briefly >> CCW IDA can be thought of as a kind of a scatter gather support for a >> single CCW. If certain flags are set, the cda is to be interpreted as an >> address to a list which in turn holds further addresses designating the >> actual data. Thus the scheme which we are currently using for accessing >> CCW payload does not work in general case. Currently there is no >> immediate need for proper IDA handling (no use case), but since it IDA is >> a non-optional part of the architecture, the only way towards AR >> compliance is actually implementing IDA. >> >> The focus of this patch set is introducing IDA support. There seems to be >> a potential for further improvements based on the introduced >> infrastructure, but such improvements are intended to be discusses >> separately and realized as patches on top of this series. > > Hm, do you have a list of what you want to do as follow-on patches? > (Checking return codes, ...) > > It's easy to lose track of all this :) > These are the stuff I had in mind: * handling errors (aka. checking error codes) in virtio-ccw * using residual count * converting 3270 (patches already sent) And then some related stuff is the error reporting and handling rework for the IO instruction handlers and for the ccw interpretation emulation (later affects CcwDataStream). There is probably a lot of potential for making things prettier in virtio-ccw.c too -- I've done some experiments but ended up changing too many things at the same time. Btw, do we still have open issues with this series? Regards, Halil
[Restored cc:s] On Tue, 26 Sep 2017 12:45:11 +0200 Halil Pasic <pasic@linux.vnet.ibm.com> wrote: > On 09/26/2017 12:18 PM, Cornelia Huck wrote: > > On Thu, 21 Sep 2017 20:08:36 +0200 > > Halil Pasic <pasic@linux.vnet.ibm.com> wrote: > > > >> Abstract > >> -------- > >> > >> The objective of this series is introducing CCW IDA (indirect data > >> access) support to our virtual channel subsystem implementation. Briefly > >> CCW IDA can be thought of as a kind of a scatter gather support for a > >> single CCW. If certain flags are set, the cda is to be interpreted as an > >> address to a list which in turn holds further addresses designating the > >> actual data. Thus the scheme which we are currently using for accessing > >> CCW payload does not work in general case. Currently there is no > >> immediate need for proper IDA handling (no use case), but since it IDA is > >> a non-optional part of the architecture, the only way towards AR > >> compliance is actually implementing IDA. > >> > >> The focus of this patch set is introducing IDA support. There seems to be > >> a potential for further improvements based on the introduced > >> infrastructure, but such improvements are intended to be discusses > >> separately and realized as patches on top of this series. > > > > Hm, do you have a list of what you want to do as follow-on patches? > > (Checking return codes, ...) > > > > It's easy to lose track of all this :) > > > > These are the stuff I had in mind: > * handling errors (aka. checking error codes) in virtio-ccw > * using residual count > * converting 3270 (patches already sent) The 3270 stuff is next in line for me. > > And then some related stuff is the error reporting and handling > rework for the IO instruction handlers and for the ccw interpretation > emulation (later affects CcwDataStream). > > There is probably a lot of potential for making things prettier > in virtio-ccw.c too -- I've done some experiments but ended up changing > too many things at the same time. There's always potential for such things :) Let's get the previously identified stuff out of the door first (it's not that I lack patches to apply anyway...) > > Btw, do we still have open issues with this series? Currently going through my acceptance testing.
On Thu, 21 Sep 2017 20:08:36 +0200 Halil Pasic <pasic@linux.vnet.ibm.com> wrote: > Abstract > -------- > > The objective of this series is introducing CCW IDA (indirect data > access) support to our virtual channel subsystem implementation. Briefly > CCW IDA can be thought of as a kind of a scatter gather support for a > single CCW. If certain flags are set, the cda is to be interpreted as an > address to a list which in turn holds further addresses designating the > actual data. Thus the scheme which we are currently using for accessing > CCW payload does not work in general case. Currently there is no > immediate need for proper IDA handling (no use case), but since it IDA is > a non-optional part of the architecture, the only way towards AR > compliance is actually implementing IDA. > > The focus of this patch set is introducing IDA support. There seems to be > a potential for further improvements based on the introduced > infrastructure, but such improvements are intended to be discusses > separately and realized as patches on top of this series. Thanks, applied.
© 2016 - 2024 Red Hat, Inc.