mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
s390x/css: Add passthrough IRB
Wire in the subchannel callback for building the IRB ESW and ECW space for passthrough devices, and copy the hardware's ESW into the IRB we are building. If the hardware presented concurrent sense, then copy that sense data into the IRB's ECW space. Signed-off-by: Eric Farman <farman@linux.ibm.com> Message-Id: <20210617232537.1337506-5-farman@linux.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
0599a046ac
commit
c626710fc7
4 changed files with 23 additions and 1 deletions
|
@ -321,6 +321,7 @@ static void vfio_ccw_io_notifier_handler(void *opaque)
|
|||
SCHIB *schib = &sch->curr_status;
|
||||
SCSW s;
|
||||
IRB irb;
|
||||
ESW esw;
|
||||
int size;
|
||||
|
||||
if (!event_notifier_test_and_clear(&vcdev->io_notifier)) {
|
||||
|
@ -371,6 +372,9 @@ static void vfio_ccw_io_notifier_handler(void *opaque)
|
|||
copy_scsw_to_guest(&s, &irb.scsw);
|
||||
schib->scsw = s;
|
||||
|
||||
copy_esw_to_guest(&esw, &irb.esw);
|
||||
sch->esw = esw;
|
||||
|
||||
/* If a uint check is pending, copy sense data. */
|
||||
if ((schib->scsw.dstat & SCSW_DSTAT_UNIT_CHECK) &&
|
||||
(schib->pmcw.chars & PMCW_CHARS_MASK_CSENSE)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue