From: "Maciej S. Szmigiero" <maciej.szmigiero@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