From: "Maciej S. Szmigiero" <maciej.szmigi...@oracle.com> This is a continuation of the v7 of the patch series located here: https://lore.kernel.org/qemu-devel/cover.1693240836.git.maciej.szmigi...@oracle.com/
Changes from v7: * Rebase onto the current QEMU git master now that the David's memslots patch series was merged there. * Split out the hot-add part of the driver to a separate patch. * Make "query-hv-balloon-status-report" only return a GenericError. * Remove "@data" parameter description from "HV_BALLOON_STATUS_REPORT" qapi since the build system complains about it. * Reformat qapi descriptions according to received review comments. * Collect David's and Markus' "Reviewed-by" and "Acked-by" tags. * Fix a memslot name formatting issue. * Add myself to MAINTAINERS. David Hildenbrand (2): memory-device: Support empty memory devices memory-device: Drop size alignment check Maciej S. Szmigiero (7): 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.c | 1766 +++++++++++++++++++++ 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 +- 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 + 23 files changed, 3153 insertions(+), 13 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.c create mode 100644 include/hw/hyperv/dynmem-proto.h create mode 100644 include/hw/hyperv/hv-balloon.h