xemu/hw/s390x
Yi Min Zhao 0125861eac s390x/pci: fixup the code walking IOMMU tables
Current s390x PCI IOMMU code is lack of flags' checking, including:
1) protection bit
2) table length
3) table offset
4) intermediate tables' invalid bit
5) format control bit

This patch introduces a new struct named S390IOTLBEntry, and makes up
these missed checkings. At the same time, inform the guest with the
corresponding error number when the check fails. Finally, in order to
get the error number, we export s390_guest_io_table_walk().

Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
Signed-off-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
Message-Id: <20180205072258.5968-2-zyimin@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-02-09 09:37:13 +01:00
..
3270-ccw.c s390x/css: unrestrict cssids 2017-12-14 17:56:54 +01:00
ccw-device.c s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
ccw-device.h s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
css-bridge.c s390x/css: attach css bridge 2017-12-14 17:56:54 +01:00
css.c s390x/flic: cache the common flic class in a central function 2018-02-09 09:37:13 +01:00
event-facility.c s390x/sclp: fix event mask handling 2018-02-09 09:37:13 +01:00
ipl.c s390x/ipl: The s390-ipl device is not hot-pluggable 2017-08-30 18:23:25 +02:00
ipl.h hw/s390x/ipl: enable LOADPARM in IPIB for a boot device 2017-05-02 15:08:54 +02:00
Makefile.objs s390x: get rid of s390-virtio.c 2017-09-19 18:31:31 +02:00
s390-ccw.c s390x/css: unrestrict cssids 2017-12-14 17:56:54 +01:00
s390-pci-bus.c s390x/pci: fixup the code walking IOMMU tables 2018-02-09 09:37:13 +01:00
s390-pci-bus.h s390x/pci: fixup the code walking IOMMU tables 2018-02-09 09:37:13 +01:00
s390-pci-inst.c s390x/pci: fixup the code walking IOMMU tables 2018-02-09 09:37:13 +01:00
s390-pci-inst.h s390x/pci: rework PCI STORE BLOCK 2017-12-14 17:56:54 +01:00
s390-pci-stub.c s390x/pci: remove idx from msix msg data 2017-09-19 18:21:32 +02:00
s390-skeys-kvm.c s390x/s390-skeys: Mark the storage key devices with user_creatable = false 2017-08-30 18:23:25 +02:00
s390-skeys.c s390x/s390-skeys: Mark the storage key devices with user_creatable = false 2017-08-30 18:23:25 +02:00
s390-stattrib-kvm.c s390x: fix storage attributes migration for non-small guests 2018-01-22 11:04:52 +01:00
s390-stattrib.c s390x/s390-stattrib: Mark the storage attribute as not user_creatable 2017-08-30 18:23:26 +02:00
s390-virtio-ccw.c s390x/tcg: remove SMP warning 2018-02-09 09:37:13 +01:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390/kvm_virtio/linux-headers: remove traces of old virtio transport 2017-11-24 10:52:05 +01:00
sclp.c s390x/sclp: fix missing be conversion 2018-01-22 11:04:52 +01:00
sclpcpu.c s390x/sclp: mark sclp-cpu-hotplug as non-usercreatable 2017-10-06 10:53:02 +02:00
sclpquiesce.c hw/s390x: Mark the "sclpquiesce" device with user_creatable = false 2017-10-06 10:53:02 +02:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
virtio-ccw.c s390x/flic: cache the common flic class in a central function 2018-02-09 09:37:13 +01:00
virtio-ccw.h virtio-ccw: Add the virtio-input devices for CCW bus 2017-10-20 13:32:10 +02:00