From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQeUK-0007HD-BN for qemu-devel@nongnu.org; Thu, 20 Mar 2014 11:02:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQeUF-0001Ta-KS for qemu-devel@nongnu.org; Thu, 20 Mar 2014 11:02:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:14867) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQeUF-0001TL-Ci for qemu-devel@nongnu.org; Thu, 20 Mar 2014 11:02:27 -0400 From: Igor Mammedov Date: Thu, 20 Mar 2014 16:01:08 +0100 Message-Id: <1395327676-29753-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [RFC 0/8] bus-less device hotplug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: marcel.a@redhat.com, mst@redhat.com, vasilis.liaskovitis@profitbricks.com, aliguori@amazon.com, pbonzini@redhat.com, afaerber@suse.de This series is a excerpt from memory hotplug series, posted for getting an opinion on hotplug implementation for bus-less devices using link<>s as a means to provide connection between hotplugged device and hotplug controller that performs board specific actions that hot-added device ishould not be aware of. Patches implementing link<> based hotplug are: qdev: link based hotplug pc: preallocate hotplug links for DIMMDevices ... pc: make PC_MACHINE memory hotplug controller the rest is just an environment to make above work. compile-able WIP tree is available at: https://github.com/imammedo/qemu/commits/memory-hotplug-v8 way to test: - run: x86_64-softmmu/qemu-system-x86_64 -monitor stdio -object memory-ram,id=foo,size=1G -m 1G,slots=1,maxmem=2G - in monitor execute: (qemu) device_add dimm,id=dimm1,memdev=foo (qemu) info mtree there should be "foo" memory region under "hotplug-memory" container. Igor Mammedov (7): vl.c: extend -m option to support options for memory hotplug make machine_class_init() accessible outside of vl.c pc: prepare PC for custom machine state qdev: link based hotplug pc: preallocate hotplug links for DIMMDevices pc: initialize memory hotplug address space pc: make PC_MACHINE memory hotplug controller Vasilis Liaskovitis (1): dimm: implement dimm device abstraction default-configs/i386-softmmu.mak | 1 + default-configs/x86_64-softmmu.mak | 1 + hw/Makefile.objs | 1 + hw/core/hotplug.c | 30 +++++++++++ hw/core/machine.c | 7 +++ hw/core/qdev.c | 15 +++++ hw/i386/pc.c | 95 +++++++++++++++++++++++++++++++++- hw/i386/pc_piix.c | 34 ++++++------ hw/i386/pc_q35.c | 10 ++-- hw/mem/Makefile.objs | 1 + hw/mem/dimm.c | 100 ++++++++++++++++++++++++++++++++++++ include/hw/boards.h | 4 ++ include/hw/hotplug.h | 2 + include/hw/i386/pc.h | 23 ++++++++ include/hw/mem/dimm.h | 58 +++++++++++++++++++++ include/hw/qdev-core.h | 6 ++ qemu-options.hx | 9 ++- vl.c | 58 ++++++++++++++++++--- 18 files changed, 421 insertions(+), 34 deletions(-) create mode 100644 hw/mem/Makefile.objs create mode 100644 hw/mem/dimm.c create mode 100644 include/hw/mem/dimm.h