Condividi tramite


Introduzione agli oggetti adattatore

Qualsiasi driver che usa operazioni di I/O dirette e DMA deve creare un oggetto adapter. L'oggetto adapter rappresenta un canale del controller DMA o una porta, o un dispositivo bus-master.

Due tipi di driver di livello più basso devono usare oggetti adapter:

  • Driver per i dispositivi che usano il controller DMA di sistema. Tali dispositivi sono chiamati dispositivi subordinati e si dice che utilizzino "DMA di sistema (o subordinato)".

  • Driver per i dispositivi che sono adattatori master bus. Tali dispositivi arbitrano con il sistema per l'uso del bus di I/O e quindi usano il DMA bus-master.

I driver forniscono memoria, in genere in un'estensione del dispositivo, per un puntatore all'oggetto adattatore.

Per eseguire trasferimenti DMA, i driver dei dispositivi che usano uno di questi metodi DMA in genere hanno una routine AdapterControl e chiamano routine di supporto fornite dal sistema che modificano gli oggetti adapter. I driver che non richiedono routine AdapterControl includono quelli che usano scatter/gather DMA e quelli che usano DMA a buffer comune, bus-master.

Nell'ambito delle operazioni di avvio del dispositivo, i driver che gestiscono le operazioni DMA chiamano il gestore di I/O, che a sua volta chiama l'HAL specifico della piattaforma per creare un set di oggetti adattatore. In qualsiasi piattaforma Windows, il set di oggetti adattatore include un oggetto adattatore per:

  • Ogni canale o porta del controller DMA di sistema a cui è collegato un dispositivo subordinato.

  • Ogni dispositivo bus-master DMA nella macchina.

Gestione I/O e HAL interagiscono per allocare l'oggetto adattatore appropriato in base alle funzionalità DMA del dispositivo e alla configurazione del sistema.

Per i dispositivi SCSI in grado di usare DMA master del bus, il driver di porta SCSI configura gli oggetti adapter per i driver miniport SCSI specifici di HBA. La routine HwScsiFindAdapter del driver miniport fornisce al driver di porta dati specifici dell'adattatore.

Consultare questa sezione e Utilizzo di Bus-Master DMA per ulteriori dettagli su quando e come i driver usano gli oggetti adapter e le routine AdapterControl.

Abilitazione del mapping di DMA per i driver di dispositivo