[發明專利]一種Linux內核模塊獲取usb_bus_type符號地址的方法及系統有效
| 申請號: | 201810904726.6 | 申請日: | 2018-08-09 |
| 公開(公告)號: | CN109117390B | 公開(公告)日: | 2021-10-26 |
| 發明(設計)人: | 劉曉萌;袁浩;張慶亮;苗功勛 | 申請(專利權)人: | 山東中孚安全技術有限公司;中孚信息股份有限公司;北京中孚泰和科技發展股份有限公司 |
| 主分類號: | G06F13/10 | 分類號: | G06F13/10;G06F13/42 |
| 代理公司: | 北京久維律師事務所 11582 | 代理人: | 邢江峰 |
| 地址: | 250101 山東省濟南市高新*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 linux 內核 模塊 獲取 usb_bus_type 符號 地址 方法 系統 | ||
本發明實施例公開了一種Linux內核模塊獲取usb_bus_type符號地址的方法,其特征是,具體包括以下方法:查找內核pci總線地址;遍歷pci總線上的子設備,查找usb控制器設備;對usb控制器設備進行內核結構體轉換,獲取usb總線地址。還公開了一種Linux內核模塊獲取usb_bus_type符號地址的系統。本發明通過遍歷pci總線上的子設備查找usb控制器設備,從而獲取usb_bus_type符號地址,使usb_bus_type符號地址不受新的系統內核參數變動的影響。
技術領域
本發明涉及符號地址獲取技術領域,具體地說是一種Linux內核模塊獲取usb_bus_type符號地址的方法及系統。
背景技術
在很多時候,usb設備驅動并不包含在內核中,因此內核模塊會通過調用usb總線地址的方式進行加載usb設備。
就當下Linux操作系統各個發行版而言,其內核中usb_bus_type符號地址并不一定會允許第三方內核模塊直接調用。
在系統內核進行微調重新編譯后,如果系統內核發行號未發生變化,那么新的系統內核將會允許基于老的系統內核開發的第三方內核模塊加載,但其中部分甚至絕大部分內核參數地址將會發生變化,其中包含pci_bus_type符號地址(pci總線地址)和usb_bus_type符號地址(usb總線地址)。這種現狀無疑對于第三方內核模塊調用該符號造成了困難。這就是現有技術的問題所在。
發明內容
本發明實施例中提供了一種Linux內核模塊獲取usb_bus_type符號地址的方法及系統,用于解決由于usb_bus_type符號地址隨系統加載內核而變化,造成的第三方無法調用usb_bus_type符號地址的問題。
為了解決上述技術問題,本發明實施例公開了如下技術方案:
本發明第一方面提供了一種Linux內核模塊獲取usb_bus_type符號地址的方法,具體包括以下方法:
查找內核pci_bus_type符號地址;
遍歷pci總線上的子設備,查找usb控制器設備;
對usb控制器設備進行內核結構體轉換,獲取usb_bus_type符號地址。
結合第一方面,在第一方面第一種可能的實現方式中,所述查找內核pci_bus_type符號地址通過調用內核符號。
結合第一方面,在第一方面第二種可能的實現方式中,遍歷pci總線上的子設備的方法包括調用內核函數bus_for_each_dev傳入參數pci_bus_type符號地址。
結合第一方面,在第一方面第三種可能的實現方式中,查找usb控制器設備的方法包括判斷子設備的參數定義,當子設備配置空間中的class code中的base class為0x0C,sub class為0x03時,為usb控制器設備。
結合第一方面,在第一方面第四種可能的實現方式中,所述對usb控制器設備進行內核結構體轉換的方法包括:
調用pci_get_drvdata獲取當前usb控制器設備的內核驅動對象uhcd;
把usb控制器設備的內核驅動對象uhcd轉換為當前usb總線的根設備結構體udev;
通過usb總線根設備結構體udev獲取通用內核設備對象結構體cdev。
結合第一方面,在第一方面第五種可能的實現方式中,所述獲取usb_bus_type符號地址的方法包括:
讀取通用內核設備對象結構體cdev中的bus成員,所述的bus成員為usb_bus_type符號地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東中孚安全技術有限公司;中孚信息股份有限公司;北京中孚泰和科技發展股份有限公司,未經山東中孚安全技術有限公司;中孚信息股份有限公司;北京中孚泰和科技發展股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810904726.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種切換的方法和設備
- 下一篇:用于存儲器系統的控制器





