Devices that attach to a PCI bus, to a PCI Express bus, or to other backplane buses generate interrupts to signal the processor-and thus, the operating system-that they require service. When a user plugs such a device into the system, the Windows PnP manager, with input from the drivers for the device, assigns a set of hardware resources to the device. The resources include the memory-mapped I/O space, interrupt vectors, DMA channels, and so forth through which the device communicates with the system. Depending on the type of device and the types of resources, the driver might require code to manage the resources. If your device generates interrupts, its function driver must include code to handle those interrupts.
This chapter describes how a driver maps memory-based resources into virtual memory so that it can access them and explains what a function driver must do to handle interrupts.
For this chapter, you need … | From … |
---|---|
| |
Samples | |
Pcidrv | %wdk%\Src\Kmdf\Pcidrv |
PLx9x5x | %wdk%\Src\Kmdf\PLX9x5x |
WDK documentation | |
MmMapIoSpace | http://go.microsoft.com/fwlink/?LinkId=81589 |
Hardware Abstraction Layer Routines | http://go.microsoft.com/fwlink/?LinkId=81591 |