Summary
In this chapter, we have discussed:
- A technology overview of the PCI related standards PCI Express, Thunderbolt and also the lesser-used ExpressCard standard.
- The PCI configuration space, which is used by the operating system to enumerate, control, and operate PCI–based devices. Later in the chapter, we also discussed how accessing these from a driver using I/O Kit provided functionality.
- PCI support in the I/O Kit with
IOPCIFamily. The cornerstone of the kernel PCI layer is the IOPCIDevice class, which is used as a provider for PCI-based drivers.
- Thunderbolt devices are compatible with PCI and also represented by the
IOPCIDevice class.
- How to create a matching dictionary for PCI-based devices so that a driver can be loaded automatically ...