summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-11-23 11:46:15 +0000
committerStefan Hajnoczi <stefanha@redhat.com>2016-11-23 11:46:15 +0000
commit659fc8d3427bf54ff50b7fffb2ca2fc0690d5e92 (patch)
tree051737f34916d9f58499e48ca8d143f3f9ac26fc /include
parentf0c10c392fc23d4bfeca0afe0de80d5036ed92ed (diff)
parent5c4537bded40640b166ec77e112592174b048c21 (diff)
downloadqemu-659fc8d3427bf54ff50b7fffb2ca2fc0690d5e92.tar.gz
Merge remote-tracking branch 'dgibson/tags/ppc-for-2.8-20161123' into staging
ppc patch queue 2016-11-23 Here's the first set of 2.8 hard freeze bugfixes for ppc. The biggest thing here is a batch of fixes for migration breakages in both 2.7 and current 2.8. Alas, there is at least one more migration problem, which prevents memory unplug after a migration. I hoped to include a fix for that here, but it turned out to have some problems bigger than those it was solving. So, I expect at least one more hard freeze pull request. There are also a few other assorted bug fixes. # gpg: Signature made Wed 23 Nov 2016 02:25:42 AM GMT # gpg: using RSA key 0x6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * dgibson/tags/ppc-for-2.8-20161123: spapr: Fix 2.7<->2.8 migration of PCI host bridge Revert "spapr: Fix migration of PCI host bridges from qemu-2.7" target-ppc: Allow eventual removal of old migration mistakes migration: Add VMSTATE_UINTTL_TEST() target-ppc: Fix CPU migration from qemu-2.6 <-> later versions ppc: Make uninorth interrupt swizzling identical to Grackle target-ppc: fix index array of national digits hw/char/spapr_vty: Return amount of free buffer entries in vty_can_receive() ppc: BOOK3E: nothing should be done when MSR:PR is set spapr: migration support for CAS-negotiated option vectors tests/postcopy: Use KVM on ppc64 only if it is KVM-HV Message-id: 1479869383-16162-1-git-send-email-david@gibson.dropbear.id.au Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/pci-host/spapr.h6
-rw-r--r--include/hw/ppc/spapr_ovec.h4
-rw-r--r--include/migration/cpu.h4
3 files changed, 14 insertions, 0 deletions
diff --git a/include/hw/pci-host/spapr.h b/include/hw/pci-host/spapr.h
index b92c1b59f1..092294ed5a 100644
--- a/include/hw/pci-host/spapr.h
+++ b/include/hw/pci-host/spapr.h
@@ -79,6 +79,12 @@ struct sPAPRPHBState {
uint64_t dma64_win_addr;
uint32_t numa_node;
+
+ /* Fields for migration compatibility hacks */
+ bool pre_2_8_migration;
+ uint32_t mig_liobn;
+ hwaddr mig_mem_win_addr, mig_mem_win_size;
+ hwaddr mig_io_win_addr, mig_io_win_size;
};
#define SPAPR_PCI_MEM_WIN_BUS_OFFSET 0x80000000ULL
diff --git a/include/hw/ppc/spapr_ovec.h b/include/hw/ppc/spapr_ovec.h
index 6a06da32e6..355a34411f 100644
--- a/include/hw/ppc/spapr_ovec.h
+++ b/include/hw/ppc/spapr_ovec.h
@@ -37,6 +37,7 @@
#define _SPAPR_OVEC_H
#include "cpu.h"
+#include "migration/vmstate.h"
typedef struct sPAPROptionVector sPAPROptionVector;
@@ -64,4 +65,7 @@ sPAPROptionVector *spapr_ovec_parse_vector(target_ulong table_addr, int vector);
int spapr_ovec_populate_dt(void *fdt, int fdt_offset,
sPAPROptionVector *ov, const char *name);
+/* migration */
+extern const VMStateDescription vmstate_spapr_ovec;
+
#endif /* !defined (_SPAPR_OVEC_H) */
diff --git a/include/migration/cpu.h b/include/migration/cpu.h
index f3abbab650..f3d5dfcf61 100644
--- a/include/migration/cpu.h
+++ b/include/migration/cpu.h
@@ -18,6 +18,8 @@
VMSTATE_UINT64_EQUAL_V(_f, _s, _v)
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v)
+#define VMSTATE_UINTTL_TEST(_f, _s, _t) \
+ VMSTATE_UINT64_TEST(_f, _s, _t)
#define vmstate_info_uinttl vmstate_info_uint64
#else
#define qemu_put_betl qemu_put_be32
@@ -35,6 +37,8 @@
VMSTATE_UINT32_EQUAL_V(_f, _s, _v)
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v)
+#define VMSTATE_UINTTL_TEST(_f, _s, _t) \
+ VMSTATE_UINT32_TEST(_f, _s, _t)
#define vmstate_info_uinttl vmstate_info_uint32
#endif