Li-Ta Lo ollie@lanl.gov writes:
Eric,
Why you add 0x100 to the resource base register for AMDK8 Function 1, in find_mem|io_pair()?
As a general convention I name the resources as the address in the configuration space. The k8 distributes functionality across it's pci configuration space, which makes it atypical in a number of respects.
In this case the bridges are all in function 0, but the bars for those bridges are actually in function 1. Since I am reporting those resources on function 0 I add 0x100 to indicate that those resources are really in function 1. Which is simple and keeps me safe from most conflicts.
It looks like I am also playing with the low address bits to distinguish which link I am actually dealing with.
Does that make sense?
The resource->index is arbitrary but I try to keep to a convention where looking at it you can tell which configuration register you are dealing with.
Eric