All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 00/14] MemoryDevice: use multi stage hotplug handlers
@ 2018-05-17  8:15 David Hildenbrand
  2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 01/14] memory-device: drop assert related to align and start of address space David Hildenbrand
                   ` (14 more replies)
  0 siblings, 15 replies; 76+ messages in thread
From: David Hildenbrand @ 2018-05-17  8:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Michael S . Tsirkin, Igor Mammedov, Marcel Apfelbaum,
	Paolo Bonzini, Richard Henderson, Eduardo Habkost, David Gibson,
	Markus Armbruster, qemu-ppc, Pankaj Gupta, Alexander Graf,
	Cornelia Huck, Christian Borntraeger, Luiz Capitulino,
	David Hildenbrand

We can have devices that need certain other resources that are e.g.
system resources managed by the machine. We need a clean way to assign
these resources (without violating layers as brought up by Igor).

One example is virtio-mem/virtio-pmem. Both device types need to be
assigned some region in guest physical address space. This device memory
belongs to the machine and is managed by it. However, virito devices are
hotplugged using the hotplug handler their proxy device implements. So we
could trigger e.g. a PCI hotplug handler for virtio-pci or a CSS/CCW
hotplug handler for virtio-ccw. But definetly not the machine.

Now, we can route other devices through the machine hotplug handler, to
properly assign/unassign resources - like a portion in guest physical
address space.

v3 -> v4:
- Removed the s390x bits, will send that out separately (was just a proof
  that it works just fine with s390x)
- Fixed a typo and reworded a comment

v2 -> v3:
- Added "memory-device: introduce separate config option"
- Dropped "parent_bus" check from hotplug handler lookup functions
- "Handly" -> "Handle" in patch description.

v1 -> v2:
- Use multi stage hotplug handler instead of resource handler
- MemoryDevices only compiled if necessary (CONFIG_MEM_HOTPLUG)
- Prepare PC/SPAPR machines properly for multi stage hotplug handlers
- Route SPAPR unplug code via the hotunplug handler
- Directly include s390x support. But there are no usable memory devices
  yet (well, only my virtio-mem prototype)
- Included "memory-device: drop assert related to align and start of address
  space"

David Hildenbrand (13):
  memory-device: drop assert related to align and start of address space
  memory-device: introduce separate config option
  pc: prepare for multi stage hotplug handlers
  pc: route all memory devices through the machine hotplug handler
  spapr: prepare for multi stage hotplug handlers
  spapr: route all memory devices through the machine hotplug handler
  spapr: handle pc-dimm unplug via hotplug handler chain
  spapr: handle cpu core unplug via hotplug handler chain
  memory-device: new functions to handle plug/unplug
  pc-dimm: implement new memory device functions
  memory-device: factor out pre-plug into hotplug handler
  memory-device: factor out unplug into hotplug handler
  memory-device: factor out plug into hotplug handler

Igor Mammedov (1):
  qdev: let machine hotplug handler to override bus hotplug handler

 default-configs/i386-softmmu.mak   |   3 +-
 default-configs/ppc64-softmmu.mak  |   3 +-
 default-configs/x86_64-softmmu.mak |   3 +-
 hw/Makefile.objs                   |   2 +-
 hw/core/qdev.c                     |   6 +-
 hw/i386/pc.c                       | 102 ++++++++++++++++++++++-------
 hw/mem/Makefile.objs               |   4 +-
 hw/mem/memory-device.c             | 129 +++++++++++++++++++++++--------------
 hw/mem/pc-dimm.c                   |  48 ++++++--------
 hw/mem/trace-events                |   4 +-
 hw/ppc/spapr.c                     | 129 +++++++++++++++++++++++++++++++------
 include/hw/mem/memory-device.h     |  21 ++++--
 include/hw/mem/pc-dimm.h           |   3 +-
 include/hw/qdev-core.h             |  11 ++++
 qapi/misc.json                     |   2 +-
 15 files changed, 330 insertions(+), 140 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2018-06-14  9:20 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-17  8:15 [Qemu-devel] [PATCH v4 00/14] MemoryDevice: use multi stage hotplug handlers David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 01/14] memory-device: drop assert related to align and start of address space David Hildenbrand
2018-05-29 13:27   ` Igor Mammedov
2018-05-29 16:02     ` David Hildenbrand
2018-05-30 12:57       ` Igor Mammedov
2018-05-30 14:06         ` David Hildenbrand
2018-05-31 13:54           ` Igor Mammedov
2018-06-04 10:53             ` David Hildenbrand
2018-06-07 13:26               ` Igor Mammedov
2018-06-07 14:12                 ` David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 02/14] memory-device: introduce separate config option David Hildenbrand
2018-05-30 12:58   ` Igor Mammedov
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 03/14] qdev: let machine hotplug handler to override bus hotplug handler David Hildenbrand
2018-06-05  1:02   ` David Gibson
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 04/14] pc: prepare for multi stage hotplug handlers David Hildenbrand
2018-05-30 13:08   ` Igor Mammedov
2018-05-30 14:13     ` David Hildenbrand
2018-05-31 14:13       ` Igor Mammedov
2018-06-04 11:27         ` David Hildenbrand
2018-06-07 13:44           ` Igor Mammedov
2018-06-07 14:00             ` David Hildenbrand
2018-06-08 12:24               ` Igor Mammedov
2018-06-08 12:32                 ` David Hildenbrand
2018-06-08 12:55                   ` Michael S. Tsirkin
2018-06-08 13:07                     ` David Hildenbrand
2018-06-08 15:12                       ` Michael S. Tsirkin
2018-06-13 10:58                         ` David Hildenbrand
2018-06-13 15:48                           ` Igor Mammedov
2018-06-13 15:51                             ` David Hildenbrand
2018-06-13 18:32                               ` Michael S. Tsirkin
2018-06-13 19:37                                 ` David Hildenbrand
2018-06-13 22:05                                   ` Michael S. Tsirkin
2018-06-14  6:14                                     ` David Hildenbrand
2018-06-14  9:16                                       ` Igor Mammedov
2018-06-14  9:20                               ` Igor Mammedov
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 05/14] pc: route all memory devices through the machine hotplug handler David Hildenbrand
2018-05-30 13:12   ` Igor Mammedov
2018-05-30 14:08     ` David Hildenbrand
2018-05-30 14:27       ` Paolo Bonzini
2018-05-30 14:31         ` David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 06/14] spapr: prepare for multi stage hotplug handlers David Hildenbrand
2018-05-17 12:43   ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2018-06-01 10:33   ` [Qemu-devel] " Igor Mammedov
2018-06-05  1:08   ` David Gibson
2018-06-05  7:51     ` David Hildenbrand
2018-06-07 14:26       ` Igor Mammedov
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 07/14] spapr: route all memory devices through the machine hotplug handler David Hildenbrand
2018-06-05  1:09   ` David Gibson
2018-06-05  7:51     ` David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 08/14] spapr: handle pc-dimm unplug via hotplug handler chain David Hildenbrand
2018-06-01 10:53   ` Igor Mammedov
2018-06-05  1:12   ` David Gibson
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 09/14] spapr: handle cpu core " David Hildenbrand
2018-06-01 10:57   ` Igor Mammedov
2018-06-05  1:13   ` David Gibson
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 10/14] memory-device: new functions to handle plug/unplug David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 11/14] pc-dimm: implement new memory device functions David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 12/14] memory-device: factor out pre-plug into hotplug handler David Hildenbrand
2018-06-01 11:17   ` Igor Mammedov
2018-06-04 11:45     ` David Hildenbrand
2018-06-07 15:00       ` Igor Mammedov
2018-06-07 15:10         ` David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 13/14] memory-device: factor out unplug " David Hildenbrand
2018-06-01 11:31   ` Igor Mammedov
2018-06-04 15:54     ` David Hildenbrand
2018-05-17  8:15 ` [Qemu-devel] [PATCH v4 14/14] memory-device: factor out plug " David Hildenbrand
2018-06-01 11:39   ` Igor Mammedov
2018-06-04 11:47     ` David Hildenbrand
2018-06-07 10:44       ` [Qemu-devel] [qemu-s390x] " David Hildenbrand
2018-05-25 12:43 ` [Qemu-devel] [qemu-s390x] [PATCH v4 00/14] MemoryDevice: use multi stage hotplug handlers David Hildenbrand
2018-05-30 14:03   ` Paolo Bonzini
2018-05-31 11:47     ` Igor Mammedov
2018-05-31 11:50       ` Paolo Bonzini
2018-06-01 12:13   ` Igor Mammedov
2018-06-04 10:03     ` David Hildenbrand
2018-06-08  9:57     ` David Hildenbrand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.