qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 0/6] machvirt dynamic sysbus device instantiation


From: Eric Auger
Subject: [Qemu-devel] [PATCH v3 0/6] machvirt dynamic sysbus device instantiation
Date: Tue, 9 Sep 2014 08:54:27 +0100

This patch series enables machvirt to dynamically instantiate sysbus
devices from command line (using -device option).

It applies on top of Alex Graf's series
- "Dynamic sysbus device allocation support"
  http://lists.gnu.org/archive/html/qemu-ppc/2014-07/msg00047.html

and transposes the work done for PPC e500 on machvirt.

The code related to dynamic sysbus device IRQ/mmio region binding,
originally located in PPC e500.c, is moved into
hw/misc/dyn_sysbus_binding new module

for ARM only, the code related to device tree node generation is
moved into hw/arm/dyn_sysbus_devtree module.

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

integrated branch can be found on
http://git.linaro.org/people/eric.auger/qemu.git,
branch vfio_integ_v6

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

v2 -> v3:
- patch now applies on top of Alex full patchset
- dyn_sysbus_devtree: add arm_prefix to emphasize the fact those
  functions are arm specific; arm_sysbus_device_create_devtree
  becomes static
- load_dtb renamed into arm_load_dtb
- add copyright in hw/arm/dyn_sysbus_devtree.c

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 (1):
  PPC: e500: use dyn_sysbus_binding helper routines

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 arm_load_dtb
  hw/arm/virt: new add_fdt_*_node functions
  hw/arm/virt: Support dynamically spawned sysbus devices

 hw/arm/Makefile.objs                 |   1 +
 hw/arm/boot.c                        |   4 +-
 hw/arm/dyn_sysbus_devtree.c          |  92 ++++++++++++++++++
 hw/arm/virt.c                        | 129 +++++++++++++++++++-----
 hw/misc/Makefile.objs                |   1 +
 hw/misc/dyn_sysbus_binding.c         | 163 +++++++++++++++++++++++++++++++
 hw/ppc/e500.c                        | 183 +++--------------------------------
 hw/ppc/e500.h                        |   7 +-
 hw/ppc/e500plat.c                    |  13 ++-
 include/hw/arm/arm.h                 |   1 +
 include/hw/arm/dyn_sysbus_devtree.h  |  16 +++
 include/hw/misc/dyn_sysbus_binding.h |  24 +++++
 12 files changed, 426 insertions(+), 208 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]