Re: Going beyond 256 PCI buses

Jeff Garzik (jgarzik@mandrakesoft.com)
Thu, 14 Jun 2001 10:32:58 -0400


"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     |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/