WinDriver fully supports backward compatibility with the standard PCI features on PCI Express boards. The wide support provided by WinDriver for the standard PCI bus — including a rich set of APIs, code samples and the graphical DriverWizard for hardware debugging and driver code generation — is also applicable to PCI Express devices, which by design are backward compatible with the legacy PCI bus.
You can also use WinDriver's PCI API to easily communicate with PCI devices connected to the PC via PCI Express-to-PCI bridges and switches (e.g., the PLX 8111/8114 bridges or the PLX 8532 switch, respectively).
In addition, WinDriver provides you with a set of APIs for easy access to the
PCI Express extended configuration space on target platforms that support such access (e.g., Windows and Linux) — see
the description of the
WDC_PciWriteCfgXXX() functions in
WD_PciConfigDump() function in the WinDriver PCI Low-Level API Reference.
On Linux and Windows 7 and higher, the WinDriver interrupt handling APIs also support Message-Signaled Interrupts (MSI)
and Extended Message-Signaled Interrupts (MSI-X), as detailed in
WinDriver also features enhanced support for PCI Express cards that are based on
the Xilinx Bus Master DMA (BMD) design or the Altera Qsys design. The WinDriver
WinDriver/xilinx/bmd_design and WinDriver/altera/qsys_design directories each contain
library APIs and a sample user-mode diagnostic applications for communicating
with the respective device type, including DMA and MSI handling code. The
Xilinx BMD directory also contains sample Kernel PlugIn driver code