Writing a Packet-Based Bus Master DMA Driver

In packet-based bus master DMA, the device transfers data to or from the locked down pages of the caller's buffer, using DMA hardware that is part of the device itself. Depending on the capabilities of the device, it might be providing its own scatter/gather support as well.

The architecture of a packet-based bus master driver is almost identical to that of a driver for a slave device. The only difference is the way the driver sets up the bus master hardware. The following sections describe these differences.

Setting Up Bus Master Hardware

A bus master device is more complicated to program because Windows 2000 doesn't know how to program the device's onboard DMA controller. The most the I/O Manager ...

Get Windows® 2000 Device Driver Book: A Guide for Programmers, Second Edition, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.