Поделиться через


Общие сведения о объектах адаптера

Любой драйвер, использующий прямой ввод-вывод и DMA, должен создать объект адаптера. Объект адаптера представляет канал контроллера DMA или порт или основное устройство шины.

Два типа драйверов низкого уровня должны использовать объекты адаптера:

  • Драйверы для устройств, использующих системный контроллер DMA. Такие устройства называются подчиненными устройствами и известны тем, что используют систему (или подчиненную) DMA.

  • Драйверы для устройств, являющихся главными адаптерами шины. Такие устройства арбитражируют с системой для использования магистрали ввода-вывода и, таким образом, используют DMA главного устройства шины.

Драйверы предоставляют хранилище, как правило, в расширении устройства для указателя на объект адаптера.

Для выполнения передачи DMA драйверы устройств, использующих любой из этих методов DMA, обычно имеют подпрограмму AdapterControl , а также подпрограммы поддержки, предоставляемые системой, которые управляют объектами адаптера. (Драйверы, для которых не требуются подпрограммы AdapterControl , включают те, которые используют точечную или сборную DMA и те, которые используют common-buffer, bus-master DMA.)

В рамках операций запуска устройства драйверы, обрабатывающие операции DMA, вызывают диспетчер ввода-вывода, который, в свою очередь, вызывает hal для конкретной платформы для создания набора объектов адаптера. На любой платформе Windows набор объектов адаптера обычно включает объект адаптера для:

  • Каждый канал контроллера DMA системы или порт, к которому подключено подчиненное устройство.

  • Каждое устройство DMA мастер шины на компьютере.

(Для устройств SCSI, поддерживающих шина-мастер DMA, драйвер порта SCSI настраивает объекты адаптера для минипорт-драйверов SCSI, специфичных для контроллера. Подпрограмма HwScsiFindAdapter минипорт-драйвера предоставляет драйверу порта данные, зависящие от адаптера.)

См. этот раздел, а также использование Bus-Master DMA для получения дополнительных сведений о том, когда и как драйверы используют объекты адаптера и подпрограммы AdapterControl .

Включение повторного сопоставления DMA для драйверов устройств