It is a layer to make it possible to have loadable PCI device drivers.
First you load (with symbols) the pcilkm module, then you can load PCI
drivers that have been compiled to work with pcilkm.
Two examples are provided. 'pcienum', the first one, is a simple
demonstration of how to use pcilkm: it is the basic skeleton of a PCI
driver, and will attach at load time to all PCI devices known to the
system.
The second example 'auich' demonstrates how simple it is to use an
existing driver as a LKM. It simply includes the code for auich(4) and
then adds the necessary pcilkm logic. However there are some drawbacks
that are described in the README file.