qemu/include/hw/arm
Igor Mammedov a3fc839635 platform-bus-device: use device plug callback instead of machine_done notifier
platform-bus were using machine_done notifier to get and map
(assign irq/mmio resources) dynamically added sysbus devices
after all '-device' options had been processed.
That however creates non obvious dependencies on ordering of
machine_done notifiers and requires carefull line juggling
to keep it working. For example see comment above
create_platform_bus() and 'straitforward' arm_load_kernel()
had to converted to machine_done notifier and that lead to
yet another machine_done notifier to keep it working
arm_register_platform_bus_fdt_creator().

Instead of hiding resource assignment in platform-bus-device
to magically initialize sysbus devices, use device plug
callback and assign resources explicitly at board level
at the moment each -device option is being processed.

That adds a bunch of machine declaration boiler plate to
e500plat board, similar to ARM/x86 but gets rid of hidden
machine_done notifier and would allow to remove the dependent
notifiers in ARM code simplifying it and making code flow
easier to follow.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Message-id: 1525691524-32265-3-git-send-email-imammedo@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-05-10 18:10:56 +01:00
..
allwinner-a10.h arm: allwinner-a10: Add SATA 2015-11-06 14:09:01 -05:00
arm.h arm: fix armv7m_init() declaration to match definition 2017-10-12 13:20:07 +01:00
armv7m.h armv7m: Forward init-svtor property to CPU object 2018-03-02 11:03:45 +00:00
aspeed_soc.h hw/arm/aspeed: simplify using the 'unimplemented device' for aspeed_soc.io 2018-02-15 18:29:36 +00:00
bcm2835_peripherals.h bcm2835: add sdhost and gpio controllers 2017-02-28 17:10:00 +00:00
bcm2836.h hw/arm/bcm2836: Create proper bcm2837 device 2018-03-19 18:23:24 +00:00
digic.h qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
exynos4210.h hw/arm/exynos: Move DRAM initialization next boards 2017-06-13 14:56:57 +01:00
fdt.h hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
fsl-imx6.h fsl-imx6: Swap Ethernet interrupt defines 2018-03-19 18:23:24 +00:00
fsl-imx7.h i.MX: Add i.MX7 SOC implementation. 2018-03-09 17:09:43 +00:00
fsl-imx25.h imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file 2018-01-11 13:25:38 +00:00
fsl-imx31.h i.MX: Split the CCM class into an abstract base class and a concrete class 2015-12-17 13:37:15 +00:00
iotkit.h hw/arm/iotkit: Model Arm IOT Kit 2018-03-02 11:03:45 +00:00
linux-boot-if.h hw/arm: new interface for devices which need to behave differently for kernel boot 2015-09-08 17:38:43 +01:00
msf2-soc.h msf2: Add Smartfusion2 SoC 2017-09-21 16:36:56 +01:00
omap.h Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
primecell.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
pxa.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
raspi_platform.h bcm2835_peripherals: add rollup device for bcm2835 peripherals 2016-02-03 15:00:45 +00:00
sharpsl.h Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
smmu-common.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3.h hw/arm/smmuv3: Skeleton 2018-05-04 18:49:10 +01:00
soc_dma.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
stm32f205_soc.h arm: drop intermediate cpu_model -> cpu type parsing and use cpu type directly 2017-09-19 09:09:32 -03:00
sysbus-fdt.h hw/arm/sysbus-fdt: helpers for platform bus nodes addition 2015-06-02 15:44:28 +01:00
virt.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
xlnx-zynqmp.h xlnx-zynqmp: Connect the RTC device 2018-03-02 10:45:35 +00:00