Re: [PATCH 01/24] PCI: Add iobusn_resource
From: Yinghai Lu <yinghai@kernel.org>
Date: 2012-02-06 18:55:18
Also in:
linux-pci, lkml
On Mon, Feb 6, 2012 at 10:48 AM, Bjorn Helgaas [off-list ref] wrote:
quoted
+struct resource iobusn_resource = { + .name = "PCI busn", + .start = 0, + .end = 0xffffff, + .flags = IORESOURCE_BUS, +};I'm not sure this should be global. iomem_resource and ioport_resource *are* really global, because they refer to processor address space that is the same for everybody. But PCI bus numbers are specific to PCI. Some machines don't have PCI at all, and there are different bus architectures to which this doesn't apply.
that does not hurt them.
The 0-0xffffff range is misleading because it includes both the domain and the bus number, and it's meaningless to allocate ranges that cross domain boundaries. For example, [bus 0x0000f0-0x000120] includes bus numbers from domain 0000 and domain 0001, which doesn't make any sense because a bus can only be in one domain.
allocation code will make sure it will be cross the boundary for domain.
I think it would make more sense to keep this bus number resource in a per-host bridge structure. Then we wouldn't need to include the domain number at all because the host bridge determines the domain.
not sure. insert the all busn_res of all peer root buses into one global iobusn_resource looks more simple. Yinghai