qemu-patch-raspberry4/hw
David Gibson 466e883185 spapr: Clean up dt creation for PCI buses
Device nodes for PCI bridges (both host and P2P) describe both the bridge
device itself and the bus hanging off it, handling of this is a bit of a
mess.

spapr_dt_pci_device() has a few things it only adds for non-bridges, but
always adds #address-cells and #size-cells which should only appear for
bridges.  But the walking down the subordinate PCI bus is done in one of
its callers spapr_populate_pci_devices_dt().  The PHB dt creation in
spapr_populate_pci_dt() open codes some similar logic to the bridge case.

This patch consolidates things in a bunch of ways:
 * Bus specific dt info is now created in spapr_dt_pci_bus() used for both
   P2P bridges and the host bridge.  This includes walking subordinate
   devices
 * spapr_dt_pci_device() now calls spapr_dt_pci_bus() when called on a
   P2P bridge
 * We do detection of bridges with the is_bridge field of the device class,
   rather than checking PCI config space directly, for consistency with
   qemu's core PCI code.
 * Several things are renamed for brevity and clarity

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
2019-06-12 10:41:49 +10:00
..
9pfs trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
acpi acpi: pci: use build_append_foo() API to construct MCFG 2019-05-29 18:00:57 -04:00
adc kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
alpha * Kconfig improvements (msi_nonbroken, imply for default PCI devices) 2019-03-28 09:18:53 +00:00
arm virtio, pci, pc: cleanups, features 2019-06-06 12:52:31 +01:00
audio hw/audio/ac97: Use the QOM DEVICE() macro to access DeviceState.qdev 2019-06-06 11:36:43 +02:00
block block: Add BlockBackend.ctx 2019-06-04 15:22:22 +02:00
bt kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
char Mostly bugfixes and cleanups, the most important being 2019-05-17 16:17:34 +01:00
core block: Add qdev_prop_drive_iothread property type 2019-06-04 15:22:22 +02:00
cpu kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
cris cris-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
display hw/display: add vhost-user-vga & gpu-pci 2019-05-29 06:30:45 +02:00
dma hw/dma: Compile the bcm2835_dma device as common object 2019-04-29 17:36:03 +01:00
gpio Pull request 2019-03-25 17:01:10 +00:00
hppa * Kconfig improvements (msi_nonbroken, imply for default PCI devices) 2019-03-28 09:18:53 +00:00
hyperv hyperv: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
i2c hw/arm: Express dependencies of realview, versatile and vexpress with Kconfig 2019-05-13 09:36:31 +02:00
i386 target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ide block: Add BlockBackend.ctx 2019-06-04 15:22:22 +02:00
input hw/input: Add a CONFIG_PS2 switch for the ps2.c file 2019-05-15 11:56:53 +02:00
intc target/mips: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ipack build: convert pci.mak to Kconfig 2019-03-07 21:45:53 +01:00
ipmi ipmi: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
isa hw/isa: Use the QOM DEVICE() macro to access DeviceState.qdev 2019-06-06 11:33:18 +02:00
lm32 pflash: Clean up after commit 368a354f02, part 2 2019-03-11 22:53:44 +01:00
m68k m68k-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
mem trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
microblaze hw/microblaze/zynqmp: Use object_initialize_child for correct ref. counting 2019-05-24 15:29:02 -03:00
mips target/mips: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
misc edu: uses uint64_t in dma operation 2019-06-03 14:03:01 +02:00
moxie moxie-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
net Mostly bugfixes and cleanups, the most important being 2019-05-17 16:17:34 +01:00
nios2 target/nios2: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
nvram hw/nvram/fw_cfg: Store 'reboot-timeout' as little endian 2019-05-23 14:10:31 +02:00
openrisc target/openrisc: Fix LGPL information in the file headers 2019-05-08 17:45:54 +02:00
pci Trivial fixes 06/06/2019 2019-06-06 14:09:14 +01:00
pci-bridge pci: Make is_bridge a bool 2019-05-29 18:00:57 -04:00
pci-host hw/pci-host: Use object_initialize_child for correct reference counting 2019-05-02 16:56:33 +02:00
pcmcia kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
ppc spapr: Clean up dt creation for PCI buses 2019-06-12 10:41:49 +10:00
rdma hw/rdma: Delete unused headers inclusion 2019-06-06 11:17:32 +02:00
riscv riscv: spike: Add a generic spike machine 2019-05-24 12:09:24 -07:00
s390x s390x: Bump the "qemu" CPU model up to a stripped-down z13 2019-06-07 14:53:26 +02:00
scsi Trivial fixes 06/06/2019 2019-06-06 14:09:14 +01:00
sd hw/sd: Use the QOM BUS() macro to access BusState.qbus 2019-06-06 11:38:14 +02:00
semihosting cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
sh4 hw/usb/hcd-ohci: Move PCI-related code into a separate file 2019-05-02 08:42:17 +02:00
smbios kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
sparc target/sparc: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
sparc64 target/sparc: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
ssi hw/ssi/xilinx_spips: Avoid variable length array 2019-04-29 17:35:57 +01:00
timer grlib, gptimer: get rid of the old-style create function 2019-05-17 09:17:11 +01:00
tpm Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
tricore - qtest fixes 2019-03-08 16:31:34 +00:00
unicore32 target/unicore32: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
usb usb-mtp: refactor the flow of usb_mtp_write_data 2019-06-10 11:53:19 +01:00
vfio vfio/display: set dmabuf modifier field 2019-06-07 11:52:35 +02:00
virtio virtio, pci, pc: cleanups, features 2019-06-06 12:52:31 +01:00
watchdog hw/watchdog/wdt_i6300esb: Use DEVICE() macro to access DeviceState.qdev 2019-06-06 11:55:04 +02:00
xen trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
Kconfig semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
Makefile.objs semihosting: move semihosting configuration into its own directory 2019-05-28 10:28:50 +01:00