qemu/hw
Laszlo Ersek 0b336b3b98 hw/core: explicit OFW unit address callback for SysBusDeviceClass
The sysbus_get_fw_dev_path() function formats OpenFirmware device path
nodes ("driver-name@unit-address") for sysbus devices. The first choice
for "unit-address" is the base address of the device's first MMIO region.
The second choice is its first IO port.

However, if two sysbus devices with the same "driver-name" lack both MMIO
and PIO resources, then there is no good way to distinguish them based on
their OFW nodes, because in this case unit-address is omitted completely
for both devices. An example is TYPE_PXB_HOST ("pxb-host").

For the sake of such devices, introduce the explicit_ofw_unit_address()
"virtual member function". With this function, each sysbus device in the
same SysBusDeviceClass can state its own address.

Cc: Markus Armbruster <armbru@redhat.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Tested-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2015-06-23 22:58:36 +02:00
..
9pfs virtio-9p-device: move qdev properties into virtio-9p-device.c 2015-06-10 18:15:34 +02:00
acpi migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
alpha hw/alpha/typhoon.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
arm arm: xlnx-zynqmp: Add 2xCortexR5 CPUs 2015-06-19 14:17:45 +01:00
audio gus: clean up MemoryRegionPortio 2015-04-27 18:24:18 +02:00
block migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
bt bt-sdp: fix broken uuids power-of-2 calculation 2015-04-28 15:36:08 +02:00
char migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
core hw/core: explicit OFW unit address callback for SysBusDeviceClass 2015-06-23 22:58:36 +02:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris cris: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-11 20:03:57 +10:00
display virtio-gpu: pci support bits and virtio-vga. 2015-06-16 10:35:43 +01:00
dma dma/rc4030: convert to QOM 2015-06-11 10:13:29 +01:00
gpio pl061: fix wrong calculation of GPIOMIS register 2015-06-02 14:56:25 +01:00
i2c ACPI: split CONFIG_ACPI into 4 pieces 2015-05-29 11:28:59 +01:00
i386 pc: cleanup and convert TMP ACPI device description to AML API 2015-06-23 17:08:21 +02:00
ide migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
input migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
intc arm_gic: gic_update should always update all cores 2015-06-15 18:06:07 +01:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa virtio-gpu: pci support bits and virtio-vga. 2015-06-16 10:35:43 +01:00
lm32 hw/lm32/milkymist.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
m68k m68k: implement more ColdFire 5208 interrupt controller functionality 2015-06-22 14:43:25 +01:00
mem pc-dimm: don't assert if pc-dimm alignment != hotpluggable mem range size 2015-06-04 11:20:34 +02:00
microblaze s3adsp1800: Remove the hardcoded values from the reset 2015-06-21 17:20:16 +10:00
mips net/dp8393x: add PROM to store MAC address 2015-06-11 10:13:30 +01:00
misc virtio, pci fixes, enhancements 2015-06-19 11:30:57 +01:00
moxie memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
net virtio, pci fixes, enhancements 2015-06-19 11:30:57 +01:00
nvram fw_cfg: prohibit insertion of duplicate fw_cfg file names 2015-06-10 08:00:37 +02:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci virtio-vga: add '-vga virtio' support 2015-06-12 10:13:23 +02:00
pci-bridge hw/pci-bridge: disable SHPC in PXB 2015-06-23 22:57:49 +02:00
pci-host migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc fw_cfg: fix FW_CFG_BOOT_DEVICE update on ppc and sparc 2015-06-10 08:00:37 +02:00
s390x s390x: Switch to s390-ccw machine as default 2015-06-17 12:40:52 +02:00
scsi virtio, pci fixes, enhancements 2015-06-19 11:30:57 +01:00
sd hw/sd/pxa2xx_mmci: Stop using old_mmio in MemoryRegionOps 2015-06-15 18:06:09 +01:00
sh4 sh4/r2d: convert to new MMIO accessor style 2015-06-12 12:02:48 +02:00
sparc fw_cfg: fix FW_CFG_BOOT_DEVICE update on ppc and sparc 2015-06-10 08:00:37 +02:00
sparc64 fw_cfg: fix FW_CFG_BOOT_DEVICE update on ppc and sparc 2015-06-10 08:00:37 +02:00
ssi omap: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
timer mc146818rtc: Reset the periodic timer on load 2015-06-19 12:27:14 +02:00
tpm TPM2 ACPI table support 2015-06-01 14:18:54 +02:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32 hw/unicore32/puv3.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
usb migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
vfio vfio: fix build error on CentOS 5.7 2015-06-18 10:35:59 +01:00
virtio vhost: correctly pass error to caller in vhost_dev_enable_notifiers() 2015-06-23 17:08:21 +02:00
watchdog watchdog: Add new Virtual Watchdog action INJECT-NMI 2015-06-11 17:45:50 +02:00
xen xen_backend: Remove unused error handling of qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa xtensa: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
Makefile.objs vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00