[發明專利]一種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 符號 地址 方法 系統 | ||
1.一種Linux內核模塊獲取usb_bus_type符號地址的方法,其特征是,具體包括以下方法:
查找內核pci_bus_type符號地址;
遍歷pci總線上的子設備,查找usb控制器設備;
對usb控制器設備進行內核結構體轉換,獲取usb_bus_type符號地址;
所述對usb控制器設備進行內核結構體轉換的方法包括:
調用pci_get_drvdata獲取當前usb控制器設備的內核驅動對象uhcd;
把usb控制器設備的內核驅動對象uhcd轉換為當前usb總線的根設備結構體udev;
通過usb總線根設備結構體udev獲取通用內核設備對象結構體cdev。
2.根據權利要求1所述的方法,其特征是,所述查找內核pci_bus_type符號地址通過調用內核符號。
3.根據權利要求1所述的方法,其特征是,遍歷pci總線上的子設備的方法包括調用內核函數bus_for_each_dev傳入參數pci_bus_type符號地址。
4.根據權利要求1所述的方法,其特征是,查找usb控制器設備的方法包括判斷子設備的參數定義,當子設備配置空間中的class code中的base class為0x0C,sub class為0x03時,為usb控制器設備。
5.根據權利要求1所述的方法,其特征是,所述獲取usb總線地址的方法包括:
讀取通用內核設備對象結構體cdev中的bus成員,所述的bus成員為usb_bus_type符號地址。
6.一種Linux內核模塊獲取usb_bus_type符號地址的系統,利用權利要求1-5任意一項所述的方法,其特征是,包括查詢模塊,用于查找內核pci_bus_type符號地址和usb控制器設備;和,
內核結構體轉換模塊,用于將usb控制器設備進行結構體轉換,把內核驅動對象轉換為通用內核設備對象結構體;和,
usb_bus_type符號地址獲取模塊,用于根據通用內核設備對象結構體獲取usb_bus_type符號地址。
7.根據權利要求6所述的系統,其特征是,所述usb控制器設備的標志是子設備配置空間中的class code中的base class為0x0C,sub class為0x03。
8.根據權利要求6所述的系統,其特征是,所述的usb_bus_type符號地址即為通用內核設備對象結構體的bus成員。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東中孚安全技術有限公司;中孚信息股份有限公司;北京中孚泰和科技發展股份有限公司,未經山東中孚安全技術有限公司;中孚信息股份有限公司;北京中孚泰和科技發展股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810904726.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種切換的方法和設備
- 下一篇:用于存儲器系統的控制器





