qemu/include/hw
Greg Kurz 3725ef1a94 spapr: Don't migrate the hpt_maxpagesize cap to older machine types
Commit 0b8c89be7f7b added the hpt_maxpagesize capability to the migration
stream. This is okay for new machine types but it breaks backward migration
to older QEMUs, which don't expect the extra subsection.

Add a compatibility boolean flag to the sPAPR machine class and use it to
skip migration of the capability for machine types 4.0 and older. This
fixes migration to an older QEMU. Note that the destination will emit a
warning:

qemu-system-ppc64: warning: cap-hpt-max-page-size lower level (16) in incoming stream than on destination (24)

This is expected and harmless though. It is okay to migrate from a lower
HPT maximum page size (64k) to a greater one (16M).

Fixes: 0b8c89be7f7b "spapr: Add forgotten capability to migration stream"
Based-on: <20190522074016.10521-3-clg@kaod.org>
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <155853262675.1158324.17301777846476373459.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-05-29 11:39:47 +10:00
..
acpi hw/arm/virt-acpi-build: pass AcpiMcfgInfo to build_mcfg() 2019-05-20 18:40:02 -04:00
adc
arm hw/arm/bcm2835: Use object_initialize() on PL011State 2019-05-24 15:29:02 -03:00
audio Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
block pflash_cfi01: New pflash_cfi01_legacy_drive() 2019-05-07 12:55:02 +01:00
char hw/char/pl011: Support all interrupt lines 2019-02-21 18:17:46 +00:00
core hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
cpu Clean up includes 2019-05-13 08:58:55 +02:00
cris
display hw/display/ramfb: initialize fw-config space with xres/ yres 2019-05-24 09:10:29 +02:00
dma hw/dma/pl080: Don't use CPU address space for DMA accesses 2018-08-20 11:24:33 +01:00
firmware hw/smbios: fix offset of type 3 sku field 2019-02-22 10:51:31 -05:00
gpio hw/gpio/nrf51_gpio: Add nRF51 GPIO peripheral 2019-01-07 15:23:47 +00:00
hyperv hyperv: process POST_MESSAGE hypercall 2018-10-19 13:44:14 +02:00
i2c i2c-ddc: move it to hw/display 2019-05-07 09:56:10 +02:00
i386 ioapic: allow buggy guests mishandling level-triggered interrupts to make progress 2019-05-17 15:19:39 +02:00
ide hw/ide: drop iov field from IDEDMA 2019-02-22 09:42:13 +00:00
input hw/devices: Move TI touchscreen declarations into a new header 2019-04-29 17:57:21 +01:00
intc Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
ipack
ipmi qom: make interface types abstract 2018-12-11 15:45:22 -02:00
isa qom: make interface types abstract 2018-12-11 15:45:22 -02:00
kvm
lm32
m68k
mem nvdimm: Rename AcpiNVDIMMState into NVDIMMState 2019-03-11 10:44:21 -03:00
mips hw/mips: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
misc leon3: introduce the plug and play mechanism 2019-05-17 09:17:11 +01:00
net Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
nvram hw/nvram/fw_cfg: Add fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
pci pci: msix: move 'MSIX_CAP_LENGTH' to header file 2019-05-22 17:35:27 +02:00
pci-bridge Clean up includes 2018-02-09 05:05:11 +01:00
pci-host Clean up decorations and whitespace around header guards 2019-05-13 08:58:55 +02:00
ppc spapr: Don't migrate the hpt_maxpagesize cap to older machine types 2019-05-29 11:39:47 +10:00
rdma {hmp, hw/pvrdma}: Expose device internals via monitor interface 2019-03-16 15:52:44 +02:00
riscv target/riscv: Add a base 32 and 64 bit CPU 2019-05-24 12:09:23 -07:00
s390x s390/css: handle CCW_FLAG_SKIP 2019-05-17 08:16:02 +02:00
scsi Normalize header guard symbol definition. 2019-05-13 08:58:55 +02:00
sd sdcard: Reflect when the Spec v3 is supported in the Config Register (SCR) 2018-06-08 13:15:34 +01:00
semihosting semihosting: enable chardev backed output for console 2019-05-28 10:28:50 +01:00
sh4 avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
sparc grlib, apbuart: get rid of the old-style create function 2019-05-17 09:17:11 +01:00
ssi aspeed/smc: snoop SPI transfers to fake dummy cycles 2019-01-29 11:46:05 +00:00
timer arm: Move system_clock_scale to armv7m_systick.h 2019-05-23 14:47:43 +01:00
tricore
unicore32
usb usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
vfio VFIO updates 2019-03-11 2019-03-12 13:37:29 +00:00
virtio vhost-user-blk: Add support to reconnect backend 2019-05-20 18:40:02 -04:00
watchdog Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
xen Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
xtensa Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
boards.h vl.c: make find_default_machine() local 2019-04-25 14:16:41 -03:00
bt.h
elf_ops.h elf-ops.h: Add get_elf_note_type() 2019-02-05 16:50:16 +01:00
empty_slot.h
fw-path-provider.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hotplug.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hw.h
ide.h ide/via: Rename functions to match device name 2019-01-25 14:52:12 -05:00
irq.h hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h elf: Add optional function ptr to load_elf() to parse ELF notes 2019-02-05 16:50:16 +01:00
nmi.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
or-irq.h hw/core/or-irq: Support more than 16 inputs to an OR gate 2018-06-15 15:23:34 +01:00
pcmcia.h hw/pcmcia: Remove PCMCIACardState from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
platform-bus.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
ptimer.h ptimer: Add TRIGGER_ONLY_ON_DECREMENT policy option 2018-07-09 14:51:34 +01:00
qdev-core.h Revert "globals: Allow global properties to be optional" 2019-05-20 18:40:02 -04:00
qdev-dma.h
qdev-properties.h qapi: Define PCIe link speed and width properties 2018-12-19 16:48:16 -05:00
qdev.h
register.h hw: register: Run post_write hook on reset 2018-03-01 11:05:43 +00:00
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
sysbus.h sysbus: add a sysbus_mmio_unmap() helper 2019-05-29 11:39:46 +10:00
usb.h qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00