diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-06-14 13:14:55 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-06-14 13:14:55 +0100 |
commit | d32490ca74c700edc74f0b2f6b7536b52a644739 (patch) | |
tree | e3c198dc788355b3b97fd0ca7539bfe8c06950ff /include/hw | |
parent | a28aae041aa76a779df6467a7fe68b9e8a8b2c0a (diff) | |
parent | 393ad2a4a15db3836698de0e11249b4ec9dafb11 (diff) | |
download | qemu-d32490ca74c700edc74f0b2f6b7536b52a644739.zip qemu-d32490ca74c700edc74f0b2f6b7536b52a644739.tar.gz qemu-d32490ca74c700edc74f0b2f6b7536b52a644739.tar.bz2 |
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20160614' into staging
More s390x patches, this time mostly dealing with channel I/O:
Bugfixes and cleanups, and dequeue pending interrupts after
machine checks.
# gpg: Signature made Tue 14 Jun 2016 13:09:43 BST
# gpg: using RSA key 0xDECF6B93C6F02FAF
# gpg: Good signature from "Cornelia Huck <huckc@linux.vnet.ibm.com>"
# gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF
* remotes/cohuck/tags/s390x-20160614:
s390x/kvm: Fixup interrupt type for non-adapter I/O interrupts
s390x: Limit s390-ccw machines to 248 CPUs
virtio-ccw: Provide traces for indicator changes
s390x/css: introduce property type for device ids
s390x/css: clear IO irqs when generating IPI CRW
s390x/kvm: add interface for clearing IO irqs
linux-headers: update
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/hw')
-rw-r--r-- | include/hw/s390x/css.h | 17 | ||||
-rw-r--r-- | include/hw/s390x/s390_flic.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h index 98b2e2c..38f4d77 100644 --- a/include/hw/s390x/css.h +++ b/include/hw/s390x/css.h @@ -151,5 +151,22 @@ int css_do_rsch(SubchDev *sch); int css_do_rchp(uint8_t cssid, uint8_t chpid); bool css_present(uint8_t cssid); #endif +/* + * Identify a device within the channel subsystem. + * Note that this can be used to identify either the subchannel or + * the attached I/O device, as there's always one I/O device per + * subchannel. + */ +typedef struct CssDevId { + uint8_t cssid; + uint8_t ssid; + uint16_t devid; + bool valid; +} CssDevId; + +extern PropertyInfo css_devid_propinfo; + +#define DEFINE_PROP_CSS_DEV_ID(_n, _s, _f) \ + DEFINE_PROP(_n, _s, _f, css_devid_propinfo, CssDevId) #endif diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h index 200e7e9..1dac2ee 100644 --- a/include/hw/s390x/s390_flic.h +++ b/include/hw/s390x/s390_flic.h @@ -49,6 +49,8 @@ typedef struct S390FLICStateClass { bool do_map); int (*add_adapter_routes)(S390FLICState *fs, AdapterRoutes *routes); void (*release_adapter_routes)(S390FLICState *fs, AdapterRoutes *routes); + int (*clear_io_irq)(S390FLICState *fs, uint16_t subchannel_id, + uint16_t subchannel_nr); } S390FLICStateClass; #define TYPE_KVM_S390_FLIC "s390-flic-kvm" |