qemu-devel
[Top][All Lists]
Advanced

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

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


From: Eric Auger
Subject: [Qemu-devel] [PATCH 0/7] machvirt dynamic sysbus device instantiation
Date: Mon, 7 Jul 2014 08:08:05 +0100

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

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

On top of sysbus device Alex' modifications, the RFC reuses his code
developped in PPC e500.c. First that code was moved in a
separate module (hw/misc/physical_devices) and then machvirt was
adapted to call those helper routines.

It is also proposed to add a new method in SysBysDeviceClass, named
fdt_add_node, whose role is to create the device tree node. It is
meant to be specialized by devices that support dynamic instantiation.

In practice there is a need for 2 specializations: one for the device,
and one for the board. It is assumed the provision for PlatformDevtreeData
enables the board adaptation. However, this later may need to be
augmented: typically some clock handles may need to be provided.

Best Regards

Eric

Eric Auger (7):
  hw/misc/platform_devices: helpers for dynamic instantiation of
    platform     devices
  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/core/sysbus: add fdt_add_node method
  hw/misc/platform_devices: add call to sysbus fdt_add_node
  hw/misc/platform_devices: Add platform_bus_base to PlatformDevtreeData

 hw/arm/boot.c                      |   2 +-
 hw/arm/virt.c                      | 125 ++++++++++++++++-----
 hw/core/sysbus.c                   |  12 +++
 hw/misc/Makefile.objs              |   1 +
 hw/misc/platform_devices.c         | 215 +++++++++++++++++++++++++++++++++++++
 include/hw/arm/arm.h               |   1 +
 include/hw/misc/platform_devices.h |  62 +++++++++++
 include/hw/sysbus.h                |   2 +
 8 files changed, 395 insertions(+), 25 deletions(-)
 create mode 100644 hw/misc/platform_devices.c
 create mode 100644 include/hw/misc/platform_devices.h

-- 
1.8.3.2




reply via email to

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