[U-Boot-Users] Patch to drivers/pci.c
Donald White
dbwhite at asu.edu
Thu May 22 08:30:41 CEST 2003
Following is a patch to drivers/pci.c. It fixes the calculation of the base address
in pci_hose_config_device().
diff -urN u-boot-0.3.0/drivers/pci.c u-boot-0.3.0-zpc1900/drivers/pci.c
--- u-boot-0.3.0/drivers/pci.c Thu Feb 27 17:19:49 2003
+++ u-boot-0.3.0-zpc1900/drivers/pci.c Tue May 20 20:51:35 2003
@@ -329,9 +329,12 @@
if (bar_response & PCI_BASE_ADDRESS_SPACE)
{
bar_size = ~(bar_response & PCI_BASE_ADDRESS_IO_MASK) + 1;
- bar_value = io;
+ /* round up region base address to a multiple of size */
io = ((io - 1) | (bar_size - 1)) + 1;
+ bar_value = io;
+ /* compute new region base address */
+ io = io + bar_size;
}
else
{
@@ -340,9 +343,12 @@
found_mem64 = 1;
bar_size = ~(bar_response & PCI_BASE_ADDRESS_MEM_MASK) + 1;
- bar_value = mem;
+ /* round up region base address to multiple of size */
mem = ((mem - 1) | (bar_size - 1)) + 1;
+ bar_value = mem;
+ /* compute new region base address */
+ mem = mem + bar_size;
}
/* Write it out and update our limit */
More information about the U-Boot
mailing list