From: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri, 30 Oct 2015 18:53:23 -0700 > On Fri, Oct 30, 2015 at 2:47 PM, Khalid Aziz <khalid.aziz@xxxxxxxxxx> wrote: >> >> I applied patches 1-8 and 11-16 to 4.3.0-rc7 to test on sparc platforms. I >> am seeing a "can't claim BAR" message on a T4: >> >> pci 0000:04:00.0: can't claim BAR 6 [mem 0x84000000000-0x8400000ffff]: >> address conflict with 0000:04:00.0 [mem 0x84000000000-0x840007fffff] > > PCI: scan_bus[/pci@400/pci@1/pci@0/pci@0/pci@0] bus no 4 > * /pci@400/pci@1/pci@0/pci@0/pci@0/display@0 > create device, devfn: 0, type: display > class: 0x30000 device name: 0000:04:00.0 > parse addresses (80 bytes) @ fff8001fffe34f40 > start: 84000000000, end: 840007fffff, i: 10 > start: 84000800000, end: 8400081ffff, i: 14 > start: 85100000000, end: 8510000007f, i: 18 > start: 84000000000, end: 8400000ffff, i: 30 > > so the BAR 6 the ROM bar is overlapping with BAR0. > and the ROM bar get rejected. This is the way OF seems to work. It maps all of the ROMs essentially to the same address range, but only enables one at a time as it inspects the ROMs and builds the device tree during power-on. Then it makes sure all of them are disabled, and can therefore use some of that address range for mapping other BARs. So if ROMs are disabled, you cannot put the address of such ROMs BAR in the kernel's assigned PCI address resource list. I hope that is what you are doing? -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html