Author: mcayland Date: Sun Oct 4 19:24:13 2015 New Revision: 1348 URL: http://tracker.coreboot.org/trac/openbios/changeset/1348
Log: SPARC64: fix PCI-EBus bridge ranges property
The child address of the PCI-EBus bridge "ranges" property should be offset from the BAR address and not the beginning of the address space (similar as to how the "assigned-addresses" property is generated). This fixes EBus enumeration under FreeBSD SPARC64.
Reported-by: Marius Strobl marius@alchemy.franken.de Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
Modified: trunk/openbios-devel/drivers/pci.c
Modified: trunk/openbios-devel/drivers/pci.c ============================================================================== --- trunk/openbios-devel/drivers/pci.c Sun Jul 12 12:24:11 2015 (r1347) +++ trunk/openbios-devel/drivers/pci.c Sun Oct 4 19:24:13 2015 (r1348) @@ -824,7 +824,7 @@ ncells += pci_encode_phys_addr(props + ncells, flags, space_code, config->dev, PCI_BASE_ADDR_0 + (i * sizeof(uint32_t)), - 0); + config->assigned[i] & ~mask);
props[ncells++] = config->sizes[i]; }