语言:简体中文 | Architecture-Driver-Model-EN
每个家族都暴露了一个 L1 注册 API:
driver_block_register
driver_nic_register
driver_snd_register
driver_pci_find_class_exact/mask
驱动程序探测其总线(PCI ID、USB 描述符、i2c 地址),声明设备,向其家族注册,从那时起,家族级命令和 VFS/套接字层就能统一地看到它。
drivers/pci/driver_pci.c + pcie:配置空间访问、BAR 解码(pcibars)、能力;MSI(当设备使用时)。lspci、pcidump、pcie 从 Shell 中检查。
drivers/pci/driver_pci.c
pcibars
lspci
pcidump
pcie
drivers/usb/driver_usb.c 协调四个主机控制器堆栈(UHCI/OHCI/EHCI/xHCI),包括设备枚举、最多到 USB_ENUM_DEPTH 层的集线器,以及上层的类驱动:MSC(大容量存储)、HID(键盘/鼠标)、串行、音频。DMA 规范:xHCI 在探测和每次传输时拒绝超过 4GiB 的地址。
drivers/usb/driver_usb.c
审计历史(BUG-0136..0238)让一件事变得不容协商:对于说谎的设备(截断的表、持续 NAK、垃圾响应),必须采用有界且无泄漏的回退机制。每个探测都有对应的清理路径;每次传输都会验证其边界。各家族的点亮手册:Drivers-Index。
There was an error while loading. Please reload this page.