[PATCH v8 0/9] Hyper-V Dynamic Memory Protocol driver (hv-balloon 🎈️)

Maciej S. Szmigiero posted 9 patches 6 months, 1 week ago
Failed in applying to current master (apply log)
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
[PATCH v8 0/9] Hyper-V Dynamic Memory Protocol driver (hv-balloon 🎈️)
Posted by Maciej S. Szmigiero 6 months, 1 week ago
From: "Maciej S. Szmigiero" <maciej.szmigiero@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.szmigiero@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