qemu-patch-raspberry4/hw/s390x
Dong Jia Shi d8d98db5f0 s390x/css: provide introspection for virtual subchannel and device busid
Expose the busids of the virtual I/O subchannel and the virtual CCW
device to ease debugging. This is needed because:
1. subchannel id are assigned dynamically, and cannot be set from
   outside.
2. device busid could possibly be auto generated.

An example of using HMP to retrieve the property values of a
virtio-balloon-ccw device looks like:

[root@localhost ~]# lscss -d 0.0.0004
Device   Subchan.  DevType CU Type Use  PIM PAM POM  CHPIDs
----------------------------------------------------------------------
0.0.0004 0.0.0003  0000/00 3832/05 yes  80  80  ff   00000000 00000000

(qemu) info qtree
... ...
      dev: virtio-balloon-ccw, id "balloon0"
        devno = "<unset>"
        ioeventfd = true
        max_revision = 2 (0x2)
        dev_id = "fe.0.0004"
        subch_id = "fe.0.0003"
... ...

After migration, if we have the same device that shows up on a
different subchannel, we must re-fill the subch_id of the ccw
device with the new schid, or the subch_id will have an old wrong
schid value. So this also re-fills the subch_id after migration.

While we are at it, also neaten the related error handling a bit.

Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2017-04-21 09:32:09 +02:00
..
ccw-device.c s390x/css: provide introspection for virtual subchannel and device busid 2017-04-21 09:32:09 +02:00
ccw-device.h s390x/css: provide introspection for virtual subchannel and device busid 2017-04-21 09:32:09 +02:00
css-bridge.c s390x/css: provide a dev_path for css devices 2016-07-20 15:47:25 +02:00
css.c s390x/css: introduce read-only property type for device ids 2017-04-21 09:32:09 +02:00
event-facility.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ipl.c s390x/ipl: Load network boot image 2017-02-28 12:04:48 +01:00
ipl.h s390x/ipl: Load network boot image 2017-02-28 12:04:48 +01:00
Makefile.objs s390x/css: Unplug handler of virtual css bridge 2016-07-11 09:48:05 +02:00
s390-pci-bus.c s390x/pci: make printf always compile in debug output 2017-04-21 09:32:09 +02:00
s390-pci-bus.h s390-pci: fix compilation on older GCC versions 2017-02-01 09:11:56 +01:00
s390-pci-inst.c s390x/pci: make printf always compile in debug output 2017-04-21 09:32:09 +02:00
s390-pci-inst.h s390x/pci: make S390PCIIOMMU inherit Object 2017-01-20 09:48:09 +01:00
s390-skeys-kvm.c s390: Clean up includes 2016-01-29 15:07:22 +00:00
s390-skeys.c s390: use FILE instead of QEMUFile for creating text file 2016-05-26 11:31:05 +05:30
s390-virtio-ccw.c s390x: introduce 2.10 compat machine 2017-04-21 09:32:09 +02:00
s390-virtio-hcall.c s390: Clean up includes 2016-01-29 15:07:22 +00:00
s390-virtio.c s390x/ipl: Extend S390IPLState to support network boot 2017-02-28 12:04:48 +01:00
s390-virtio.h s390x/ipl: Extend S390IPLState to support network boot 2017-02-28 12:04:48 +01:00
sclp.c s390x: remove useless cast 2016-09-15 15:32:22 +03:00
sclpcpu.c s390: Clean up includes 2016-01-29 15:07:22 +00:00
sclpquiesce.c Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
virtio-ccw.c s390x/css: provide introspection for virtual subchannel and device busid 2017-04-21 09:32:09 +02:00
virtio-ccw.h virtio-ccw: add virtio-crypto-ccw device 2017-02-24 10:15:18 +01:00