pci_present()
Determine whether or not PCI BIOS is present
Synopsis:
#include <hw/pci.h> int pci_present( unsigned* lastbus, unsigned* version, unsigned* hardware );
Arguments:
- 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.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pci_present() function determines whether or not the PCI BIOS interface function set is present. It also determines the following:
- the current interface version
- what hardware mechanism for accessing configuration space is supported
- whether or not the hardware supports the generation of PCI Special Cycles.
Returns:
- -1
- PCI BIOS isn't present.
- PCI_SUCCESS
- PCI BIOS is present.
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |