summaryrefslogtreecommitdiffstats
path: root/hw/intc/s390_flic.c
diff options
context:
space:
mode:
authorPeter Maydell2017-07-06 12:42:59 +0200
committerPeter Maydell2017-07-06 12:42:59 +0200
commitb11365867568ba954de667a0bfe0945b8f78d6bd (patch)
tree4699b4f24ef3d432566e07e2e11d036e28633150 /hw/intc/s390_flic.c
parentMerge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (diff)
parenthw/s390x/ipl: Fix endianness problem with netboot_start_addr (diff)
downloadqemu-b11365867568ba954de667a0bfe0945b8f78d6bd.tar.gz
qemu-b11365867568ba954de667a0bfe0945b8f78d6bd.tar.xz
qemu-b11365867568ba954de667a0bfe0945b8f78d6bd.zip
Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170706' into staging
s390x/kvm/migration: fixes, enhancements and cleanups - new email address for Cornelia - Fixes: 3270, flic, virtio-scsi-ccw, ipl - Enhancements, cpumodel, migration # gpg: Signature made Thu 06 Jul 2017 08:18:19 BST # gpg: using RSA key 0x117BBC80B5A61C7C # gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>" # Primary key fingerprint: F922 9381 A334 08F9 DBAB FBCA 117B BC80 B5A6 1C7C * remotes/borntraeger/tags/s390x-20170706: hw/s390x/ipl: Fix endianness problem with netboot_start_addr virtio-scsi-ccw: use ioeventfd even when KVM is disabled s390x: return unavailable features via query-cpu-definitions s390x/MAINTAINERS: Update my email address s390x: fix realize inheritance for kvm-flic s390x: fix error propagation in kvm-flic's realize s390x/3270: fix instruction interception handler s390x: vmstatify config migration for virtio-ccw Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/intc/s390_flic.c')
-rw-r--r--hw/intc/s390_flic.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
index a26e90670f..837158bdaf 100644
--- a/hw/intc/s390_flic.c
+++ b/hw/intc/s390_flic.c
@@ -17,6 +17,7 @@
#include "trace.h"
#include "hw/qdev.h"
#include "qapi/error.h"
+#include "hw/s390x/s390-virtio-ccw.h"
S390FLICState *s390_get_flic(void)
{
@@ -100,8 +101,8 @@ static void s390_flic_common_realize(DeviceState *dev, Error **errp)
uint32_t max_batch = S390_FLIC_COMMON(dev)->adapter_routes_max_batch;
if (max_batch > ADAPTER_ROUTES_MAX_GSI) {
- error_setg(errp, "flic adapter_routes_max_batch too big"
- "%d (%d allowed)", max_batch, ADAPTER_ROUTES_MAX_GSI);
+ error_setg(errp, "flic property adapter_routes_max_batch too big"
+ " (%d > %d)", max_batch, ADAPTER_ROUTES_MAX_GSI);
}
}
@@ -136,3 +137,30 @@ static void qemu_s390_flic_register_types(void)
}
type_init(qemu_s390_flic_register_types)
+
+const VMStateDescription vmstate_adapter_info = {
+ .name = "s390_adapter_info",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT64(ind_offset, AdapterInfo),
+ /*
+ * We do not have to migrate neither the id nor the addresses.
+ * The id is set by css_register_io_adapter and the addresses
+ * are set based on the IndAddr objects after those get mapped.
+ */
+ VMSTATE_END_OF_LIST()
+ },
+};
+
+const VMStateDescription vmstate_adapter_routes = {
+
+ .name = "s390_adapter_routes",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT(adapter, AdapterRoutes, 1, vmstate_adapter_info,
+ AdapterInfo),
+ VMSTATE_END_OF_LIST()
+ }
+};