[Previous] [Contents] [Next]

pci_present()

Determine whether or not PCI BIOS is present

Synopsis:

#include <hw/pci.h>

int pci_present( unsigned* lastbus,
                 unsigned* version,
                 unsigned* hardware );

Library:

libc

Description:

The pci_present() function determines whether or not the PCI BIOS interface function set is present. It also determines the following:

The arguments are as follows:

lastbus
The number of the last PCI bus in the system. PCI buses are numbered from 0 up to and including this value.
version
The version number of the PCI interface.
hardware
The specific hardware characteristics the platform supports with regard to accessing configuration space and generating PCI Special Cycles.

The PCI specification defines two hardware mechanisms for accessing configuration space. Bit 0 of hardware is set (1) if mechanism 1 is supported, and reset (0) otherwise. Bit 1 is set (1) if mechanism 2 is supported, and reset (0) otherwise.

The specification also defines hardware mechanisms for generating Special Cycles. Bit 4 of hardware is set (1) if the platform supports Special Cycle generation based on Config Mechanism 1, and reset (0) otherwise. Bit 5 is set (1) if the platform supports Special Cycle generation based on Config Mechanism 2, and reset (0) otherwise.

The arguments can be NULL if you just want to check for PCI capabilities.

Returns:

-1
PCI BIOS isn't present.
PCI_SUCCESS
PCI BIOS is present.

Classification:

QNX 6

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pci_attach(), pci_attach_device(), pci_detach(), pci_detach_device(), pci_find_class(), pci_find_device(), pci_read_config(), pci_read_config8(), pci_read_config16(), pci_read_config32(), pci_rescan_bus(), pci_write_config(), pci_write_config8(), pci_write_config16(), pci_write_config32()


[Previous] [Contents] [Next]