tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCH] pcictl: simplify its usage

Hash: SHA1


On Jun 4, 2009, at 2:54 PM, Joerg Sonnenberger wrote:

On Thu, Jun 04, 2009 at 07:18:50PM +0200, Matthias Drochner wrote:
This might be not a big issue with a simple PC, but on
a big box with multiple PCI hierarchies the same physical bus
number can occur multiple times.

One typical example is a system with multiple PCI domains, which we
currently don't really support though, I think.

Most halfway recent PowerMacs have multiple PCI domains:

/home/ml/Music# pcictl pci0 list
000:11:0: Apple Computer UniNorth AGP Interface (host bridge)
000:16:0: ATI Technologies Rage Fury MAXX AGP 4x (TMDS) (VGA display)
/home/ml/Music# pcictl pci1 list
000:11:0: Apple Computer UniNorth Host-PCI Bridge (host bridge)
000:13:0: Digital Equipment DC21154 PCI-PCI Bridge (PCI bridge, revision 0x05)
/home/ml/Music# pcictl pci2 list
001:02:0: Schneider & Koch SK-NET SK-9DX1 Gigabit Ethernet (ethernet network, revision 0x11) 001:07:0: Apple Computer KeyLargo I/O Controller (undefined subclass 0x00, revision 0x03) 001:08:0: Apple Computer KeyLargo USB Controller (USB serial bus, interface 0x10) 001:09:0: Apple Computer KeyLargo USB Controller (USB serial bus, interface 0x10) 001:10:0: Texas Instruments TSB12LV26 IEEE 1394 Host Controller (Firewire serial bus, interface 0x10)
/home/ml/Music# pcictl pci3 list
000:11:0: Apple Computer UniNorth Host-PCI Bridge (host bridge)
000:15:0: Apple Computer GMAC Ethernet (ethernet network, revision 0x01)

So, I have three PCI buses with bus number 0. The machine is a Gigabit Ethernet G4 - all UniNorth-based machines ( that is, all G4s and newer G3s ) will have a similar bus layout and even some older machines like the 9600 have two host bridges. Same with sparc64 - we support quite a few machines with more than one psycho, only Sun's OF assigns the root buses different IDs, usually 0 and 128. Works fine, my only gripe is that there is no sane & reliable way for userland to find out if /dev/pci<a> is a subordinate of /dev/pci<b>.

have fun

Version: GnuPG v1.4.7 (Darwin)


Home | Main Index | Thread Index | Old Index