From: David W. <dw...@in...> - 2003-06-17 18:19:21
|
On Tue, 2003-06-17 at 19:02, Paul van Gool wrote: > bad PC-like io name for port 0x33 at 0x8c01b108 The I/O functions in io_7751se don't think that 0x33 is a valid I/O address for a device on the PCI bus; you'll not see that complaint if 'CHECK_SH7751_PCIIO(port)' was true. I'm inclined to agree with them -- according to include/asm-sh/pci.h we should be assigning addresses above 0x4000 for I/O BARs, and addresses above 0xFD000000 for memory BARs. Looking at pcibios_assign_resources() in pci-sh7751.c it seems we assign resources to a device if it didn't have any -- but we don't do so if it already had them, even if it had resources which in our world are incorrect. To confirm this, can you add an 'else' clause to the 'if (!r->start && r->end) pci_assign_resource(dev, idx)' statement, making it print the device name and contents of the offending BAR? Do you have a boot loader or foreign operating system setting up these devices? Make it stop, or fix pcibios_assign_resources() to check for validity and reassign resources if we don't like them. -- dwmw2 |