Home |
RTTarget-32 Programming Manual PCI BIOS Function RTT_BIOS_FindClassCode Function RTT_BIOS_GetInterruptRouting Function RTT_BIOS_GenSpecialCycle Function RTT_BIOS_ReadConfigData Function RTT_BIOS_WriteConfigData Function RTT_BIOS_LocateCapability System Management BIOS (SMBIOS) Advanced Programmable Interrupt Controller (APIC) |
PCI BIOSPCI and PCI Express I/O cards may require configuration at run-time, or software may need to query configuration information about such cards. Protected mode PCI BIOS version 2.1 services can be used to access the PCI configuration address space on a PCI bus. The PCI BIOS functions described in this section are implemented either by calling 32 bit PCI BIOS functions of the target's BIOS, or, if no such BIOS is found, by directly addressing the PCI-Host bridge using port I/O on ports 0CF8h and 0CFCh or through memory mapped registers as defined by the MCFG ACPI table. RTTarget-32 system flag RT_NO_PCI can be used to prevent RTTarget-32 from accessing these I/O ports (for example, because they are in use by some other hardware). On the other hand, boot code option BF_NO_PCI_BIOS can be set to force RTTarget-32 to bypassing the PCI BIOS and use direct port I/O, which may be required to support targets with a faulty PCI BIOS. If your target has no BIOS but does have a PCI - Host bridge, you should set boot code option BF_NO_PCI_BIOS. If your target has a BIOS, but it does not have a PCI - Host bridge, RTTarget-32 system flag RT_NO_PCI should be set. For all other cases, or when the software must be able to run on systems with or without PCI, RTTarget-32's default configuration should be used. Access to PCI Express Extended Configuration Space Registers (register values in the range 256 to 4095) are only accessible if the target hardware supplies an MCFG ACPI table. All PCI BIOS functions made available by RTTarget-32 are declared in header file Rttbios.h. For Pascal, the driver's API is defined in unit Rttbios.pas. The PCI BIOS returns standard status codes. The following codes can be returned: Status CodesRTT_BIOS_SUCCESSFULThe function succeeded. RTT_BIOS_FNC_NOT_SUPPORTEDThe BIOS does not support the requested function. RTT_BIOS_BAD_VENDOR_IDAn invalid vendor ID was specified. RTT_BIOS_DEVICE_NOT_FOUNDThe requested device was not found. RTT_BIOS_BAD_REG_NUMThe specified register does not exist. RTT_BIOS_SET_FAILEDThe BIOS was unable to write a configuration register value. RTT_BIOS_BUFFER_TOO_SMALLThe supplied return buffer space was too small. Additional information about the PCI BIOS is available in the PCI BIOS Specification. It can be ordered from the PCI Special Interest Group (see http://www.pcisig.com). Demo program BIOSDemo show how PCI BIOS services can be used. Function RTT_BIOS_FindClassCode Function RTT_BIOS_GetInterruptRouting Function RTT_BIOS_GenSpecialCycle Function RTT_BIOS_ReadConfigData Function RTT_BIOS_WriteConfigData Function RTT_BIOS_LocateCapability
|