qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC v2 0/7] machvirt dynamic sysbus device instantiation
@ 2014-08-08 15:03 Eric Auger
  2014-08-08 15:03 ` [Qemu-devel] [RFC v2 1/7] hw/misc/dyn_sysbus_binding: helpers for sysbus device dynamic binding Eric Auger
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Eric Auger @ 2014-08-08 15:03 UTC (permalink / raw)
  To: eric.auger, christoffer.dall, qemu-devel, kim.phillips, a.rigo
  Cc: peter.maydell, eric.auger, patches, will.deacon, agraf,
	stuart.yoder, Bharat.Bhushan, alex.williamson, a.motakis, kvmarm

This RFC enables machvirt to dynamically instantiate sysbus devices
from command line.

the RFC originates from Alex Graf's work
- "Dynamic sysbus device allocation support"
  http://lists.gnu.org/archive/html/qemu-ppc/2014-07/msg00047.html

The code related to dynamic sysbus device IRQ and mmio region binding
and device tree node generation, originally developped in PPC e500.c,
is moved into 2 new modules:

- hw/misc/dyn_sysbus_binding (IRQ and MMIO binding)
- hw/arm/dyn_sysbus_devtree  (dt node generation)

This makes possible to reuse it for ARM/machvirt.

Both e500 and machvirt are adapted to use those helper routines.

This RFC applies onto "sysbus: Make devices spawnable via -device"
https://www.mail-archive.com/qemu-devel@nongnu.org/msg244394.html.

---

integrated branch can be found on
git://git.linaro.org/people/eric.auger/qemu.git,
branch dyn-sysbus-v2-integ

A related discussion can be found at
https://lists.nongnu.org/archive/html/qemu-devel/2014-07/msg04065.html

For e500 the device tree generation is kept in the machine file,
according to Alex will.

For machvirt we use dyn_sysbus_devtree since the code becomes large
with the expected support of vfio devices.

Best Regards
Eric

v1 -> v2:
- device node generation no more in sysbus device but in
  dyn_sysbus_devtree
- VFIO region shrinked to 4MB and relocated in machvirt to avoid PCI
  shrink (dynamic vfio-mmio support might come latter)
- platform_bus_base removed from PlatformDevtreeData

Alexander Graf (2):
  PPC: e500: Support dynamically spawned sysbus devices
  e500: Add support for eTSEC in device tree

Eric Auger (5):
  hw/misc/dyn_sysbus_binding: helpers for sysbus device dynamic binding
  hw/arm/dyn_sysbus_devtree: helpers for sysbus device dynamic dt node  
      generation
  hw/arm/boot: load_dtb becomes non static
  hw/arm/virt: add new add_fdt_xxx_node functions
  hw/arm/virt: Support dynamically spawned sysbus devices

 hw/arm/Makefile.objs                 |   1 +
 hw/arm/boot.c                        |   2 +-
 hw/arm/dyn_sysbus_devtree.c          |  66 ++++++++++++++
 hw/arm/virt.c                        | 129 +++++++++++++++++++++------
 hw/misc/Makefile.objs                |   1 +
 hw/misc/dyn_sysbus_binding.c         | 163 +++++++++++++++++++++++++++++++++++
 hw/ppc/e500.c                        | 129 +++++++++++++++++++++++++++
 hw/ppc/e500.h                        |   2 +
 hw/ppc/e500plat.c                    |   9 ++
 include/hw/arm/arm.h                 |   1 +
 include/hw/arm/dyn_sysbus_devtree.h  |  18 ++++
 include/hw/misc/dyn_sysbus_binding.h |  24 ++++++
 12 files changed, 519 insertions(+), 26 deletions(-)
 create mode 100644 hw/arm/dyn_sysbus_devtree.c
 create mode 100644 hw/misc/dyn_sysbus_binding.c
 create mode 100644 include/hw/arm/dyn_sysbus_devtree.h
 create mode 100644 include/hw/misc/dyn_sysbus_binding.h

-- 
1.8.3.2

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

end of thread, other threads:[~2014-08-11 13:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-08 15:03 [Qemu-devel] [RFC v2 0/7] machvirt dynamic sysbus device instantiation Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 1/7] hw/misc/dyn_sysbus_binding: helpers for sysbus device dynamic binding Eric Auger
2014-08-11 13:08   ` Alexander Graf
2014-08-11 13:16     ` Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 2/7] hw/arm/dyn_sysbus_devtree: helpers for sysbus device dynamic dt node generation Eric Auger
2014-08-11 13:16   ` Alexander Graf
2014-08-11 13:17     ` Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 3/7] PPC: e500: Support dynamically spawned sysbus devices Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 4/7] e500: Add support for eTSEC in device tree Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 5/7] hw/arm/boot: load_dtb becomes non static Eric Auger
2014-08-11 13:10   ` Alexander Graf
2014-08-11 13:18     ` Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 6/7] hw/arm/virt: add new add_fdt_xxx_node functions Eric Auger
2014-08-08 15:03 ` [Qemu-devel] [RFC v2 7/7] hw/arm/virt: Support dynamically spawned sysbus devices Eric Auger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).