Makefile | 2 +- block.c | 19 +- block/backup.c | 258 +++--- block/create.c | 6 +- block/curl.c | 133 ++- block/file-posix.c | 16 + block/mirror.c | 29 + block/nfs.c | 6 +- block/qcow2.c | 59 +- block/vpc.c | 3 +- blockdev.c | 4 - blockjob.c | 17 +- contrib/libvhost-user/libvhost-user.c | 3 +- dma-helpers.c | 13 +- docs/conf.py | 4 +- docs/interop/bitmaps.rst | 1585 ++++++++++++++++++++++++++------- docs/qemu-cpu-models.texi | 12 + docs/sphinx/qmp_lexer.py | 43 + hw/core/loader.c | 2 +- hw/core/machine.c | 8 +- hw/i386/acpi-build.c | 17 +- hw/i386/pc.c | 3 + hw/i386/pc_q35.c | 16 +- hw/ide/ahci.c | 3 - hw/ide/core.c | 14 - hw/intc/ioapic.c | 8 +- hw/intc/spapr_xive.c | 3 +- hw/intc/xive.c | 9 +- hw/s390x/s390-pci-bus.c | 7 +- hw/scsi/lsi53c895a.c | 41 +- hw/scsi/megasas.c | 2 +- hw/ssi/xilinx_spips.c | 43 +- hw/tpm/tpm_crb.c | 4 +- hw/tpm/tpm_emulator.c | 60 +- hw/tpm/tpm_int.h | 13 + hw/tpm/tpm_tis.c | 4 +- hw/usb/redirect.c | 5 + hw/virtio/vhost.c | 10 + hw/virtio/virtio-balloon.c | 143 +-- hw/virtio/virtio-pci.c | 28 +- hw/xen/xen-bus.c | 23 +- include/hw/boards.h | 3 + include/hw/i386/pc.h | 3 + include/hw/ppc/xive_regs.h | 6 + include/hw/virtio/virtio-balloon.h | 5 +- migration/block-dirty-bitmap.c | 14 +- python/qemu/__init__.py | 69 +- scsi/pr-manager.c | 1 - slirp/src/ip_input.c | 19 +- target/arm/translate.c | 21 +- target/i386/cpu.c | 4 +- target/ppc/int_helper.c | 2 +- target/ppc/translate/vsx-impl.inc.c | 23 +- target/s390x/cpu_models.c | 2 + tests/bios-tables-test.c | 9 + tests/qemu-iotests/030 | 3 +- tests/qemu-iotests/040 | 3 +- tests/qemu-iotests/041 | 3 +- tests/qemu-iotests/044 | 3 +- tests/qemu-iotests/045 | 3 +- tests/qemu-iotests/055 | 3 +- tests/qemu-iotests/056 | 42 +- tests/qemu-iotests/056.out | 4 +- tests/qemu-iotests/057 | 3 +- tests/qemu-iotests/065 | 3 +- tests/qemu-iotests/096 | 3 +- tests/qemu-iotests/118 | 3 +- tests/qemu-iotests/124 | 41 +- tests/qemu-iotests/124.out | 4 +- tests/qemu-iotests/129 | 3 +- tests/qemu-iotests/132 | 3 +- tests/qemu-iotests/139 | 3 +- tests/qemu-iotests/147 | 5 +- tests/qemu-iotests/148 | 3 +- tests/qemu-iotests/151 | 28 +- tests/qemu-iotests/151.out | 4 +- tests/qemu-iotests/152 | 3 +- tests/qemu-iotests/155 | 3 +- tests/qemu-iotests/163 | 3 +- tests/qemu-iotests/165 | 3 +- tests/qemu-iotests/169 | 3 +- tests/qemu-iotests/196 | 3 +- tests/qemu-iotests/199 | 3 +- tests/qemu-iotests/205 | 3 +- tests/qemu-iotests/221 | 4 + tests/qemu-iotests/245 | 3 +- tests/qemu-iotests/253 | 84 ++ tests/qemu-iotests/253.out | 14 + tests/qemu-iotests/255 | 83 ++ tests/qemu-iotests/255.out | 16 + tests/qemu-iotests/256 | 122 +++ tests/qemu-iotests/256.out | 119 +++ tests/qemu-iotests/266 | 153 ++++ tests/qemu-iotests/266.out | 137 +++ tests/qemu-iotests/group | 4 + tests/qemu-iotests/iotests.py | 106 ++- ui/kbd-state.c | 6 +- util/cutils.c | 2 +- util/hbitmap.c | 6 +- vl.c | 3 +- 100 files changed, 3022 insertions(+), 893 deletions(-) create mode 100644 docs/sphinx/qmp_lexer.py create mode 100755 tests/qemu-iotests/253 create mode 100644 tests/qemu-iotests/253.out create mode 100755 tests/qemu-iotests/255 create mode 100644 tests/qemu-iotests/255.out create mode 100755 tests/qemu-iotests/256 create mode 100644 tests/qemu-iotests/256.out create mode 100755 tests/qemu-iotests/266 create mode 100644 tests/qemu-iotests/266.out