
4 Dec
2008
4 Dec
'08
5:58 p.m.
We have an issue with inbound windows overlapping outbound windows. This is fine, but it does mean that pci_hose_{bus_to_phys,phys_to_bus} can return the wrong thing.
I was wondering if there was any issue if PCI_REGION_MEMORY was set for a region if we skipped that region in the lookup functions:
pci_hose_phys_to_bus(...) { ... for (i = 0; i < hose->region_count; i++) { res = &hose->regions[i];
if (((res->flags ^ flags) & PCI_REGION_TYPE) != 0) continue;
if (reg->flags & PCI_REGION_MEMORY) continue; ...
any issues with this change? If not I'll work up a proper patch.
- k