Chapter 16: Hardware Resources and Interrupts


Overview

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




Developing Drivers with the Microsoft Windows Driver Foundation
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224

Similar book on Amazon
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Advanced Windows Debugging
Advanced Windows Debugging
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net