Escaneo de hardware y carga de la unidad General Flow

  

Inicio del sistema -> Escanear bus PCI (enumeración de bus PCI) - > Leer información de hardware desde el espacio de configuración de hardware - > Descriptor de bus PCI contiene Una lista de dispositivos PCI detectados (establecida antes de que se cargue el controlador de dispositivo específico) -> el kernel envía eventos udev -> estado de usuario udev ejecuta las reglas correspondientes de udev para cargar los controladores de dispositivo correspondientes, como: /Etc /udev /50-udev.rules: ACTION == " add ", SUBSYSTEM == "? * &Quot;, ENV {MODALIAS} == "? * &Quot;, RUN + = " modprobe $ env {UDEV_MODPROBE_DBG } $ env {MODALIAS} " - > Cuando cargue el controlador del dispositivo, lea el archivo /lib /modules /`uname -r` modules.alias (no el archivo modprobe.conf) y cargue el archivo modules.alias del controlador apropiado según el alias. El núcleo lo genera de manera uniforme según la información de alias en cada información del módulo del kernel (aliainfo contiene la información de alias, es decir, el hardware admitido por el controlador). - > Cuando se carga el controlador del dispositivo, llame a pci_register_driver para registrar pci_driver cuando se inicializa el módulo, que contiene pci_device_id, que enumera la ID del dispositivo que puede manejar el controlador - > La capa PCI usa la tabla pci_device_id para ver la lista de dispositivos PCI detectados. Con qué dispositivos coinciden, cree una lista de dispositivos para el controlador y llame al dispositivo asociado (como un dispositivo de red) para cada dispositivo correspondiente llamando a la función de sonda de pci_driver.

Copyright © Conocimiento de Windows All Rights Reserved