summaryrefslogtreecommitdiffstats
path: root/include/hw
diff options
context:
space:
mode:
authorFei Li2017-03-07 04:07:44 +0100
committerChristian Borntraeger2017-07-14 12:29:47 +0200
commit1497c1606615b0b08d1b1f78afd1dcf2585879c0 (patch)
tree5ba92e116e000e53a888f1fae001cfccabd1e0c9 /include/hw
parents390x/cpumodel: provide compat handling for new cpu features (diff)
downloadqemu-1497c1606615b0b08d1b1f78afd1dcf2585879c0.tar.gz
qemu-1497c1606615b0b08d1b1f78afd1dcf2585879c0.tar.xz
qemu-1497c1606615b0b08d1b1f78afd1dcf2585879c0.zip
s390x: add flags field for registering I/O adapter
Introduce a new 'flags' field to IoAdapter to contain further characteristics of the adapter, like whether the adapter is subject to adapter-interruption suppression. For the kvm case, pass this value in the 'flags' field when registering an adapter. Signed-off-by: Fei Li <sherrylf@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/s390x/css.h8
-rw-r--r--include/hw/s390x/s390_flic.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
index eb0e26f258..e028960885 100644
--- a/include/hw/s390x/css.h
+++ b/include/hw/s390x/css.h
@@ -167,7 +167,13 @@ typedef enum {
uint32_t css_get_adapter_id(CssIoAdapterType type, uint8_t isc);
void css_register_io_adapters(CssIoAdapterType type, bool swap, bool maskable,
- Error **errp);
+ uint8_t flags, Error **errp);
+
+#ifndef CONFIG_KVM
+#define S390_ADAPTER_SUPPRESSIBLE 0x01
+#else
+#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE
+#endif
#ifndef CONFIG_USER_ONLY
SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid,
diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h
index caa6fc608d..d4145ad8eb 100644
--- a/include/hw/s390x/s390_flic.h
+++ b/include/hw/s390x/s390_flic.h
@@ -56,7 +56,7 @@ typedef struct S390FLICStateClass {
DeviceClass parent_class;
int (*register_io_adapter)(S390FLICState *fs, uint32_t id, uint8_t isc,
- bool swap, bool maskable);
+ bool swap, bool maskable, uint8_t flags);
int (*io_adapter_map)(S390FLICState *fs, uint32_t id, uint64_t map_addr,
bool do_map);
int (*add_adapter_routes)(S390FLICState *fs, AdapterRoutes *routes);