Loading Drivers on the PCI Bus
9/8/2008
Driver de barramento PCI é responsável por enumerando o barramento PCI e, em seguida, carregar drivers dispositivo para qualquer um dos dispositivos que ele encontra. Driver de barramento PCI segue estas etapas para carregar drivers:
Enumera o barramento PCI por Procurando dispositivos e enumerando os recursos exigido pelos dispositivos. Esses recursos incluem memória endereços de base, E/S de base endereços e números de IRQ.
Usa, se aplicável, uma rotina configuração fornecido pelo driver de dispositivo para configurar recursos que não são compatíveis com PCI e recursos extensão ROM.
Atribui recursos a cada um dos dispositivos.
Executa uma segunda transmitir enumeração coincidir com os dispositivos com Registro entradas encontradas na PCI\Template chave.
Procura por correspondências exatas sob a PCI\Instance chave.
Para obter mais informações, consulte Carregando drivers de dispositivo.Coincide com o dispositivo para uma entrada Registro ao aplicar um algoritmo de melhor ajuste para as entradas Registro.
A seguinte tabela mostra as entradas Registro.Entrada Descrição Classe
Função básica de um dispositivo, de exemplo, um controlador armazenamento em massa.
SubClass
Subclasse específica de uma função básica, de exemplo, um controlador Integrated Device Electronics (IDE).
ProgIF
Interface programação Register-specific, de exemplo, USB aberto hospedar controlador interface (OHCI) ou USB Universal hospedar controlador interface (UHCI).
VendorID
Fabricante do dispositivo.
DeviceID
Tipo de dispositivo.
SubsystemVendorID
Fornecedor de um cartão ou subsistema que usa um dispositivo.
SubsystemID
Tipo de cartão ou subsistema que usa um dispositivo.
Os identificadores são listados na ordem de aumento especificidade. Quando compatível um dispositivo encontrado com uma entrada Registro, todos os valores que são listados no Registro deve coincidir com o dispositivo encontrado. De exemplo, a seguinte tabela mostra as entradas Registro para um driver que funciona com todas as 16550-compatível serial controladores.
Entrada Descrições Classe
Valor para controladores de comunicações simples.
SubClass
Valor de serial.
ProgIF
Valor de 16550-compatível serial controladores.
Se um determinado serial driver foi configurado para dispositivo de um fornecedor específico, e o VendorID e DeviceID Valores deve estar listados bem. A entrada Registro para este driver só seria coincidir com um dispositivo que contém exatamente a mesma Classe, SubClass, ProgIF, VendorID e DeviceID. O VendorID, DeviceID, SubsystemVendorID e SubsystemID pode ter uma lista de valores associado para o driver pode corresponder com um subconjunto dos dispositivos. Se as listas são usadas, eles devem todos estar do mesmo comprimento.
Copia as informações modelo para um PCI\Instance chave quando uma correspondência for localizada, along with AS informações ADICIONAIS recurso such as MemBase, MemLen, IoBase, IoLen e IRQ.
Um mapeamento IRQ-to-SYSINTR é solicitado nesse tempo a partir de OAL, e o SYSINTR é escrito para a chave Registro SysIntr.Carrega o driver com sua chave instância recém-criado.
Como o driver agora tem todas as suas informações configuração contidas o Registro, ele não precisa enumerar o barramento para descobrir sua correspondente dispositivo. Para obter mais informações sobre driver carregando, consulte Barramento de enumerador.