[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: FW: slot number in Desk-top
Randy,
I guess in the 9x tables it is an integer. (I thought they
had changed this to a string [I asked them to 6 years ago on
a review...] .) The field at the link
http://www.microsoft.com/hwdev/archive/BUSBIOS/pciirq.asp is
the slot number field as in $PRQ->Slot_Entry->Slot_Number.
The value 0 is used for built in devices (on motherboard), and should
be 1,2,3,4,5,6,... for connector slots, as aribtrarily chosen by
the vendor. (This method forces the vendor to label the slots
as Slot 1,2,3,4,5,6,... (as opposed to any other way.)
-Daveo
-----Original Message-----
From: Randy.Dunlap [mailto:rddunlap@osdl.org]
Sent: Wednesday, January 08, 2003 10:04 AM
To: O'Shea, David J
Cc: pci-sig@znyx.com
Subject: RE: FW: slot number in Desk-top
Sorry about that.
Linux doesn't make the slot info available to drivers.
Linux does have some code that reads that data, but that code isn't
exported for drivers to call. Of course, drivers could duplicate
that code if required, but that code assumes that the PIRQ routing
table is being used, which isn't always the case.
There is also a userspace Perl script (dump_pirq) which reads
and decodes the PIRQ table.
However, I don't see the slot tags <string data> in the PIRQ ($PIR)
table definition at all. I'm looking at
http://www.microsoft.com/hwdev/archive/BUSBIOS/pciirq.asp .
Where do you see string slot tags?
On Wed, 8 Jan 2003, O'Shea, David J wrote:
|
| Randy,
|
| The question was whether Linux makes the "slot tags" available from
| those tables. (Assumed that they had to be processing the IRQ information
| itself using either 9x table or MPS table.) But those same tables also
| make available slot labling information. (Its just string data, for instance
| "slot 1" or "U23" or whatever the vendor decided.
|
| -David O'Shea
|
| -----Original Message-----
| From: Randy.Dunlap [mailto:rddunlap@osdl.org]
| Sent: Wednesday, January 08, 2003 8:58 AM
| To: O'Shea, David J
| Cc: pci-sig@znyx.com
| Subject: Re: FW: slot number in Desk-top
|
|
| On Wed, 8 Jan 2003, O'Shea, David J wrote:
|
| | Dinesh,
| |
| | The BIOS makes the information available to OS in at least
| | two ways. The first is the Windows9x PCI IRQ information tables,
| | which also have PCI device to slot label information. The table
| | is so named because Microsoft defind it for Win9x, but many OS
| | seem to make use of the table. The second manner that this
| | information is provided is via the ACPI tables.
| |
| | Current Linux and Solaris definitely do not support ACPI information
| | retrieval into the OS. (I do not know if they gather the Win9x PCI
| | IRQ table information in either the OS, the bootloader, of via a
| | application level program reading /dev/mem. The Win9x table is
| | memory mapped by the BIOS, and has a signature.)
|
| Linux has used the PCI IRQ routing table (called PIRQ in Linux) for
| years. Linux reads this table very early during the boot process
| and sets up interrupt vectors based on it.
|
| Linux only uses the PIRQ table for uniprocessor (x86) systems.
| For SMP (still x86), Linux 2.4 and earlier use the MP table for
| interrupt routing info, unless the ACPI code in Linux 2.4 is being
| used.
|
| Linux 2.5 (development version) has these same options (PIRQ table,
| MP table if not using ACPI, or use ACPI). However, like David says,
| ACPI for Linux is still very much under development, but it's making
| much progress.
|
| And ACPI is required for Linux on IA-64 of course.
|
| Linux drivers don't read the PIRQ table directly. They just request
| that their interrupt handler be associated with a device (or function),
| and then that device's associated interrupt line is tied to the
| driver's interrupt handler.
|
|
| | Perhaps one of the Linux gurus out there can tell us if the Win9x
| | tables are read during OS startup somehow, and then made available
| | to drivers. And then in turn whether their is a Linux application
| | that somehow makes use of this information via IOCTL, or one which
| | simply reads /dev/mem. I am sure that today the ACPI information
| | is not yet used in Linux, that work is in development now for the
| | next new kernal- so it will be a while longer yet before applications
| | could be using ACPI information to solve the "what slot" riddle....
| |
| | -David O'Shea
| |
| |
| | -----Original Message-----
| | From: Dinesh Kumar [mailto:eyesol@rediffmail.com]
| | Sent: Wednesday, January 08, 2003 12:46 AM
| | To: pci-sig@znyx.com
| | Subject: slot number in Desk-top
| |
| |
| | Hi Experts,
| |
| | I have a basic qry.
| | In a desk-top environment, is there a mechanism to find out which
| | PCI card/resource is plugged in to which slot ? In other words, is
| | it possible in OS level to read slot number of a particular PCI
| | card plugged in to a desk-top ? Assume the machine is running in
| | Solaris/Linux.
| | Any one experienced similar problems ?
| |
| | Thanks in advance
| |
| | Dinesh
|
| (not pretending to be a Linux guru)
| (wishing PCI specs weren't so costly to individuals :(
Thanks,
--
~Randy