Métodos de dispositivo para tarjetas adaptadoras: directrices

Los métodos de dispositivo para una tarjeta adaptadora son esencialmente los mismos que para cualquier otro dispositivo. Necesitan realizar aproximadamente las mismas tareas que las descritas en "Escribir un método de dispositivo" en Conceptos de programación de extensiones de kernel y soporte de dispositivos. Sin embargo, hay una consideración adicional importante. El método de configuración de bus, o Configurador de bus, es responsable de descubrir las tarjetas adaptadoras presentes en el sistema y de asignar recursos de bus a cada uno de los adaptadores. Estos recursos incluyen niveles de interrupción, niveles de arbitraje de DMA, memoria de bus y espacio de E/S de bus.

Los adaptadores se definen y configuran normalmente durante el arranque. Sin embargo, si un adaptador no está configurado debido a conflictos de recursos de bus no resolubles, o si un adaptador no está configurado en tiempo de ejecución con el mandato rmdev , puede que se produzca un intento de configurar un adaptador en tiempo de ejecución.

Si se realiza un intento, Configurar método para el adaptador debe tomar estos pasos para garantizar la integridad del sistema:

  1. Asegúrese de que la tarjeta está presente en el sistema leyendo los registros POS (0) y POS (1) de la ranura que se supone que contiene la tarjeta y comparando estos valores con lo que se supone que deben ser para la tarjeta.
  2. Invoque la subrutina busresolve para asegurarse de que los atributos de recurso de bus del adaptador, como se representa en la base de datos, no entren en conflicto con ninguno de los adaptadores configurados.

Se deben seguir directrices adicionales al añadir soporte para una nueva tarjeta adaptadora. Se discuten en: