Re: Going beyond 256 PCI buses

Jeff Garzik
2001-06-14T14:33:13Z

"David S. Miller" wrote:
> 1) Extending the type bus numbers use inside the kernel.
>
> Basically how most multi-controller platforms work now
> is they allocate bus numbers in the 256 bus space as
> controllers are probed. If we change the internal type
> used by the kernel to "u32" or whatever, we expand that
> available space accordingly.
>
> For the lazy, basically go into include/linux/pci.h
> and change the "unsigned char"s in struct pci_bus into
> some larger type. This is mindless work.

Why do you want to make the bus number larger than the PCI bus number
register?

It seems like adding 'unsigned int domain_num' makes more sense, and is
more correct. Maybe that implies fixing up other code to use a
(domain,bus) pair, but that's IMHO a much better change than totally
changing the interpretation of pci_bus::bus_number...

> 2) Figure out what to do wrt. sys_pciconfig_{read,write}()

3) (tiny issue) Change pci_dev::slot_name such that it includes the
domain number. This is passed to userspace by SCSI and net drivers as a
way to allow userspace to associate a kernel interface with a bus
device.

> Basically, this 256 bus limit in Linux is a complete fallacy.

yep

Regards,

Jeff

--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |