Correct way to adjust PCI resource allocations?

Trevor Anderson tanderson at
Fri Jun 13 08:14:31 EST 2008


I'm hoping somebody can tell me the correct way to change the memory
resources allocated to particular PCI buses/devices at startup?

I'm developing a card (MPC8641D, 2.6.25 kernel) that includes a PCI/X-VMEBus
bridge, and the driver requires that it have a chunk of [prefetchable] PCI
memory space available to it. There is nothing on the chip that says so: it
has a single BAR that covers its configuration registers, but nothing else.

So: I need a way to declare an additional memory requirement for this
particular device that will wend its way back through the chain of PCIe and
PCIX buses to the root.

So far I've been using a platform-specific "pcibios_fixup_resources"
function that simply writes-in my new requirement, in conjunction with
"ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC", as a new resource entry in the
device's pci_device structure. And this has been working well, so far. But
I've discovered that fitting an XMC/PMC card to my board mucks things up -
the resource allocations fail. The XMC/PMC card appears on the same PCI/X
bus as the VME bridge. 

This leads me to think I've not been using the correct method all along, but
happened to hit lucky until now.

What is the right way to do this?
Is pcibios_fixup_resources even meant to do something like this?

Any help gratefully welcomed.


- Trevor Anderson <tanderson at>

View this message in context:
Sent from the linuxppc-embedded mailing list archive at

More information about the Linuxppc-embedded mailing list