From: "Maciej S. Szmigiero" <maciej.szmigi...@oracle.com> Hi Stefan,
Fixed the CI pipeline issues with yesterday's pull request, and: the following changes since commit d762bf97931b58839316b68a570eecc6143c9e3e: Merge tag 'pull-target-arm-20231102' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-11-03 10:04:12 +0800) are available in the Git repository at: https://github.com/maciejsszmigiero/qemu.git tags/pull-hv-balloon-20231106 for you to fetch changes up to 00313b517d09c0b141fb32997791f911c28fd3ff: MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol (2023-11-06 14:08:10 +0100) ---------------------------------------------------------------- Hyper-V Dynamic Memory protocol driver. This driver is like virtio-balloon on steroids for Windows guests: it allows both changing the guest memory allocation via ballooning and inserting pieces of extra RAM into it on demand from a provided memory backend via Windows-native Hyper-V Dynamic Memory protocol. * Preparatory patches to support empty memory devices and ones with large alignment requirements. * Revert of recently added "hw/virtio/virtio-pmem: Replace impossible check by assertion" commit 5960f254dbb4 since this series makes this situation possible again. * Protocol definitions. * Hyper-V DM protocol driver (hv-balloon) base (ballooning only). * Hyper-V DM protocol driver (hv-balloon) hot-add support. * qapi query-memory-devices support for the driver. * qapi HV_BALLOON_STATUS_REPORT event. * The relevant PC machine plumbing. * New MAINTAINERS entry for the above. ---------------------------------------------------------------- David Hildenbrand (2): memory-device: Support empty memory devices memory-device: Drop size alignment check Maciej S. Szmigiero (8): Revert "hw/virtio/virtio-pmem: Replace impossible check by assertion" Add Hyper-V Dynamic Memory Protocol definitions Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) base Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) hot-add support qapi: Add query-memory-devices support to hv-balloon qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command hw/i386/pc: Support hv-balloon MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol Kconfig.host | 3 + MAINTAINERS | 8 + hw/core/machine-hmp-cmds.c | 15 + hw/hyperv/Kconfig | 10 + hw/hyperv/hv-balloon-internal.h | 33 + hw/hyperv/hv-balloon-our_range_memslots.c | 201 ++++ hw/hyperv/hv-balloon-our_range_memslots.h | 110 ++ hw/hyperv/hv-balloon-page_range_tree.c | 228 ++++ hw/hyperv/hv-balloon-page_range_tree.h | 118 ++ hw/hyperv/hv-balloon-stub.c | 19 + hw/hyperv/hv-balloon.c | 1769 +++++++++++++++++++++++++++++ hw/hyperv/meson.build | 1 + hw/hyperv/trace-events | 18 + hw/i386/Kconfig | 1 + hw/i386/pc.c | 22 + hw/mem/memory-device.c | 49 +- hw/virtio/virtio-pmem.c | 5 +- include/hw/hyperv/dynmem-proto.h | 423 +++++++ include/hw/hyperv/hv-balloon.h | 18 + include/hw/mem/memory-device.h | 7 +- meson.build | 28 +- meson_options.txt | 2 + monitor/monitor.c | 1 + qapi/machine.json | 101 +- scripts/meson-buildoptions.sh | 3 + tests/qtest/qmp-cmd-test.c | 1 + 26 files changed, 3180 insertions(+), 14 deletions(-) create mode 100644 hw/hyperv/hv-balloon-internal.h create mode 100644 hw/hyperv/hv-balloon-our_range_memslots.c create mode 100644 hw/hyperv/hv-balloon-our_range_memslots.h create mode 100644 hw/hyperv/hv-balloon-page_range_tree.c create mode 100644 hw/hyperv/hv-balloon-page_range_tree.h create mode 100644 hw/hyperv/hv-balloon-stub.c create mode 100644 hw/hyperv/hv-balloon.c create mode 100644 include/hw/hyperv/dynmem-proto.h create mode 100644 include/hw/hyperv/hv-balloon.h