qemu/include/hw/s390x
Matthew Rosato dd1d5fd968 s390x/pci: enable for load/store interpretation
If the ZPCI_OP ioctl reports that is is available and usable, then the
underlying KVM host will enable load/store intepretation for any guest
device without a SHM bit in the guest function handle.  For a device that
will be using interpretation support, ensure the guest function handle
matches the host function handle; this value is re-checked every time the
guest issues a SET PCI FN to enable the guest device as it is the only
opportunity to reflect function handle changes.

By default, unless interpret=off is specified, interpretation support will
always be assumed and exploited if the necessary ioctl and features are
available on the host kernel.  When these are unavailable, we will silently
revert to the interception model; this allows existing guest configurations
to work unmodified on hosts with and without zPCI interpretation support,
allowing QEMU to choose the best support model available.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220902172737.170349-4-mjrosato@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-09-26 17:23:47 +02:00
..
3270-ccw.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
adapter.h s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
ap-bridge.h s390x/ap: base Adjunct Processor (AP) object model 2018-10-12 11:32:18 +02:00
ap-device.h ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
css-bridge.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
css.h css: fix actl handling for unit exceptions 2021-09-06 16:23:08 +02:00
ebcdic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
event-facility.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
ioinst.h s390x/css: fix PMCW invalid mask 2022-01-17 08:34:19 +01:00
pv.h s390: Recognize confidential-guest-support option 2021-02-08 16:57:38 +11:00
s390-ccw.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
s390-pci-bus.h s390x/pci: enable for load/store interpretation 2022-09-26 17:23:47 +02:00
s390-pci-clp.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
s390-pci-inst.h s390x/pci: create a header dedicated to PCI CLP 2020-11-01 12:30:52 -07:00
s390-pci-kvm.h s390x/pci: enable for load/store interpretation 2022-09-26 17:23:47 +02:00
s390-pci-vfio.h s390x/pci: add routine to get host function handle from CLP info 2022-09-26 17:23:47 +02:00
s390-virtio-ccw.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
s390_flic.h s390x: move S390_ADAPTER_SUPPRESSIBLE 2021-03-26 09:33:50 +01:00
sclp.h s390: guest support for diagnose 0x318 2020-10-02 13:52:49 +02:00
storage-attributes.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
storage-keys.h hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
tod.h target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
vfio-ccw.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00