From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f6dLH-0008H5-DZ for qemu-devel@nongnu.org; Thu, 12 Apr 2018 10:36:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f6dLE-0007Z5-LF for qemu-devel@nongnu.org; Thu, 12 Apr 2018 10:36:51 -0400 From: David Hildenbrand Date: Thu, 12 Apr 2018 16:36:32 +0200 Message-Id: <20180412143635.19949-1-david@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/3] pc-dimm: factor out MemoryDevice List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-s390x@nongnu.org, "Michael S . Tsirkin" , Igor Mammedov , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost , David Gibson , Markus Armbruster , qemu-ppc@nongnu.org, Pankaj Gupta Right now we can only map PCDIMM/NVDIMM into guest address space. In the future, we might want to do the same for virtio devices - e.g. virtio-pmem or virtio-mem. Especially, they should be able to live side by side to each other. E.g. the virto based memory devices regions will not be exposed via ACPI and friends. They will be detected just like other virtio devices and indicate the applicable memory region. This makes it possible to also use them on architectures without memory device detection support (e.g. s390x). Let's factor out the memory device code into a MemoryDevice interface. See the patch descriptions for details. v1 -> v2: - Fix compile issues on ppc (still untested O:-) ) David Hildenbrand (3): pc-dimm: factor out MemoryDevice interface machine: make MemoryHotplugState accessible via the machine pc-dimm: factor out address space logic into MemoryDevice code hw/i386/acpi-build.c | 3 +- hw/i386/pc.c | 24 ++- hw/mem/Makefile.objs | 1 + hw/mem/memory-device.c | 281 +++++++++++++++++++++++++ hw/mem/pc-dimm.c | 304 +++++++-------------------- hw/ppc/spapr.c | 24 ++- hw/ppc/spapr_hcall.c | 1 + include/hw/boards.h | 16 ++ include/hw/mem/memory-device.h | 48 +++++ include/hw/mem/pc-dimm.h | 26 +-- numa.c | 3 +- qmp.c | 4 +- stubs/Makefile.objs | 2 +- stubs/{qmp_pc_dimm.c => qmp_memory_device.c} | 4 +- 14 files changed, 464 insertions(+), 277 deletions(-) create mode 100644 hw/mem/memory-device.c create mode 100644 include/hw/mem/memory-device.h rename stubs/{qmp_pc_dimm.c => qmp_memory_device.c} (61%) -- 2.14.3