[PATCH RFC 0/5] s390x: initial support for virtio-mem

David Hildenbrand posted 5 patches 3 years, 9 months ago
Test checkpatch passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200708185135.46694-1-david@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, David Hildenbrand <david@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Richard Henderson <rth@twiddle.net>, Thomas Huth <thuth@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Halil Pasic <pasic@linux.ibm.com>
hw/s390x/Kconfig                   |   1 +
hw/s390x/Makefile.objs             |   1 +
hw/s390x/s390-virtio-ccw.c         | 178 ++++++++++++++++++++++++++++-
hw/s390x/sclp.c                    |  32 ++----
hw/s390x/virtio-ccw-mem.c          | 165 ++++++++++++++++++++++++++
hw/s390x/virtio-ccw.h              |  13 +++
hw/virtio/virtio-mem.c             |   2 +
include/hw/s390x/s390-virtio-ccw.h |   3 +
target/s390x/diag.c                |  57 +++++++++
target/s390x/internal.h            |   2 +
target/s390x/kvm.c                 |  11 ++
target/s390x/misc_helper.c         |   6 +
target/s390x/translate.c           |   4 +
13 files changed, 449 insertions(+), 26 deletions(-)
create mode 100644 hw/s390x/virtio-ccw-mem.c
[PATCH RFC 0/5] s390x: initial support for virtio-mem
Posted by David Hildenbrand 3 years, 9 months ago
This wires up the initial, basic version of virito-mem for s390x. General
information about virtio-mem can be found at [1] and in QEMU commit [2].
Patch #5 contains a short example for s390x.

virtio-mem for x86-64 Linux is part of v5.8-rc1. A branch with a s390x
prototype can be found at:
    git@github.com:davidhildenbrand/linux.git virtio-mem-s390x

Note that the kernel should either be compiled via
 CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE, or "memhp_default_state=online"
 should be passed on the kernel cmdline.

This series can be found at:
    git@github.com:davidhildenbrand/qemu.git virtio-mem-s390x

Related to s390x, we'll have to tackle migration of storage keys and
storage attributes (especially, skipping unplugged parts). Not sure if
I am missing something else (any ideas?). For virtio-mem in general, there
are a couple of TODOs, e.g., documented in [1] and [2], both in QEMU and
Linux. However, the basics are around.

I only tested this with fairly small amount of RAM in a z/VM environemnt
...

[1] https://virtio-mem.gitlab.io/
[2] 910b25766b33 ("virtio-mem: Paravirtualized memory hot(un)plug")

David Hildenbrand (5):
  s390x: move setting of maximum ram size to machine init
  s390x: implement diag260
  s390x: prepare device memory address space
  s390x: implement virtio-mem-ccw
  s390x: initial support for virtio-mem

 hw/s390x/Kconfig                   |   1 +
 hw/s390x/Makefile.objs             |   1 +
 hw/s390x/s390-virtio-ccw.c         | 178 ++++++++++++++++++++++++++++-
 hw/s390x/sclp.c                    |  32 ++----
 hw/s390x/virtio-ccw-mem.c          | 165 ++++++++++++++++++++++++++
 hw/s390x/virtio-ccw.h              |  13 +++
 hw/virtio/virtio-mem.c             |   2 +
 include/hw/s390x/s390-virtio-ccw.h |   3 +
 target/s390x/diag.c                |  57 +++++++++
 target/s390x/internal.h            |   2 +
 target/s390x/kvm.c                 |  11 ++
 target/s390x/misc_helper.c         |   6 +
 target/s390x/translate.c           |   4 +
 13 files changed, 449 insertions(+), 26 deletions(-)
 create mode 100644 hw/s390x/virtio-ccw-mem.c

-- 
2.26.2