Linux 內核 MODULEDEVICETABLE 宏


這個 pci_device_id 結構需要被輸出到用戶空間, 來允許熱插拔和模塊加載系統知道什 么模塊使用什么硬件設備. 宏 MODULE_DEVICE_TABLE 完成這個. 例如:

 

MODULE_DEVICE_TABLE(pci, i810_ids);

 

這個語句創建一個局部變量稱為 mod_pci_device_table, 它指向 struct pci_device_id 的列表. 稍后在內核建立過程中, depmod 程序在所有的模塊中尋找

    mod_pci_device_table. 如果找到這個符號, 它將數據拉出模塊並且添加到文件

/lib/modules/KERNEL_VERSION/modules.pcimap. 在 depmod 完成后, 所有的被內核中的 模塊支持的 PCI 設備被列出, 帶有它們的模塊名子, 在那個文件中. 當內核告知熱插拔 系統有新的 PCI 設備已找到, 熱插拔系統使用 moudles.pcimap 文件來找到正確的驅動 來加載.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM