Messages in this thread | | | Date | Sat, 30 Aug 2008 17:27:01 -0700 | From | "Yinghai Lu" <> | Subject | Re: Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd |
| |
On Sat, Aug 30, 2008 at 4:39 PM, Yinghai Lu <yhlu.kernel@gmail.com> wrote: > On Sat, Aug 30, 2008 at 4:28 PM, Linus Torvalds > <torvalds@linux-foundation.org> wrote: >> >> >> On Sat, 30 Aug 2008, Yinghai Lu wrote: >>> >>> wait, THAT BAR is 64BIT capable, So kernel should assign 64bit range to it... >>> it request_resource fails... >> >> I don't think we've ever done new allocations in 64 bits. Although looking >> for it, I have to admit that I don't see what would limit us right now. >> There used to be some paths that weren't 64-bit clean, but I think we >> fixed all of those. > > would be some corner case... >
pci_assign_unassigned_resources==>pci_bus_assign_resources==>pbus_assign_resources_sorted(struct
static void pbus_assign_resources_sorted(struct pci_bus *bus) { struct pci_dev *dev; struct resource *res; struct resource_list head, *list, *tmp; int idx;
head.next = NULL; list_for_each_entry(dev, &bus->devices, bus_list) { u16 class = dev->class >> 8;
/* Don't touch classless devices or host bridges or ioapics. */ if (class == PCI_CLASS_NOT_DEFINED || class == PCI_CLASS_BRIDGE_HOST) continue;
it skips the host bridge...
YH
| |