diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2018-08-05 12:28:49 +0100 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2018-08-16 22:27:43 -0300 |
commit | be64d7776bcc48a542acf1f74765a3930692cef4 (patch) | |
tree | 9b72e6cf3d25bcd3dce8e690075abdb7e5834bc6 /bootdevice.c | |
parent | 3aeaac8fa2d008a1f55b040fde6d4ec06f2f5146 (diff) |
sysbus: always allow explicit_ofw_unit_address() to override address generation
Some SysBusDevices either use sysbus_init_mmio() without
sysbus_mmio_map() or the first MMIO memory region doesn't represent the
bus address, causing a firmware device path with an invalid address to
be generated.
SysBusDeviceClass does provide a virtual explicit_ofw_unit_address()
method that can be used to override this process, but it was originally intended
only as as a fallback option meaning that any existing MMIO memory regions still
take priority whilst determining the firmware device address.
There is currently only one user of explicit_ofw_unit_address() and that
is the PCI expander bridge (PXB) device which has no MMIO/PIO resources
defined. This enables us to allow explicit_ofw_unit_address() to take
priority without affecting backwards compatibility, allowing the address
to be customised as required.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20180805112850.26063-2-mark.cave-ayland@ilande.co.uk>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'bootdevice.c')
0 files changed, 0 insertions, 0 deletions