[發明專利]一種支持多設備的密碼卡驅動實現方法和系統在審
| 申請號: | 202210105557.6 | 申請日: | 2022-01-28 |
| 公開(公告)號: | CN114546500A | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 雷宗華;彭金輝;李鑫;劉武忠;王凱霖 | 申請(專利權)人: | 鄭州信大捷安信息技術股份有限公司 |
| 主分類號: | G06F9/4401 | 分類號: | G06F9/4401 |
| 代理公司: | 鄭州德勤知識產權代理有限公司 41128 | 代理人: | 張微微 |
| 地址: | 450000 河南省*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 支持 設備 密碼 驅動 實現 方法 系統 | ||
1.一種支持多設備的密碼卡驅動實現方法,其特征在于,所述方法包括:
在Linux系統驅動的module_init模塊中創建字符設備和設備節點,然后使用pci_register_driver在系統中注冊pci-e設備驅動,并由pci-e設備驅動在系統中注冊pci設備結構體pci_dev;
由所述pci-e設備驅動的探測函數probe對至少一個pci-e密碼卡進行逐一初始化,為每個pci-e密碼卡申請一個對應的設備資源結構體;
針對每個pci-e密碼卡分別獲取I/O資源和DMA資源,并保存在對應的設備資源結構體中;
使用函數list_add把各個設備資源結構體鏈接到預設的全局鏈表struct list_headaccel_table中;
設置各個設備資源結構體為pci設備結構體pci_dev的私有數據。
2.根據權利要求1所述的一種支持多設備的密碼卡驅動實現方法,其特征在于,所述設備資源結構體包括struct list_head list以及pci-e密碼卡的屬性、名稱、編號、占用內存信息。
3.根據權利要求2所述的一種支持多設備的密碼卡驅動實現方法,其特征在于,在設置各個設備資源結構體為pci設備結構體pci_dev的私有數據之后,所述方法還包括:
在pci-e設備驅動的移除函數remove中,通過pci設備結構體pci_dev的私有數據獲取目標設備資源結構體;
使用函數list_for_each_entry_safe查找目標設備資源結構體在全局鏈表structlist_head accel_table中的位置;
基于找到的位置,使用函數list_del在全局鏈表struct list_head accel_table中刪除所述目標設備資源結構體。
4.根據權利要求2所述的一種支持多設備的密碼卡驅動實現方法,其特征在于,在設置各個設備資源結構體為pci設備結構體pci_dev的私有數據之后,所述方法還包括:
調用字符設備的open函數,打開字符設備文件,獲取字符設備文件的句柄fd;
使用句柄fd調用字符設備的ioctl函數,傳入pci-e密碼卡的屬性、名稱、編號中的任意一個需求信息;
使用函數list_for_each_entry_safe遍歷全局鏈表struct list_head accel_table中的設備資源結構體,從中取出與傳入的需求信息相匹配的設備資源結構體并保存到字符設備文件的私有數據中。
5.根據權利要求4所述的一種支持多設備的密碼卡驅動實現方法,其特征在于,從中取出與傳入的需求信息相匹配的設備資源結構體并保存到字符設備文件的私有數據之后,所述方法還包括:
通過字符設備文件的句柄fd調用字符設備的ioctl、write、read函數;
由Linux系統驅動在字符設備文件的私有數據中取出對應pci-e密碼卡的設備資源結構體;
通過所述設備資源結構體實現對pci-e密碼卡的讀寫訪問。
6.根據權利要求1所述的一種支持多設備的密碼卡驅動實現方法,其特征在于,所述pci-e密碼卡支持國密加解密算法和簽名算法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州信大捷安信息技術股份有限公司,未經鄭州信大捷安信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210105557.6/1.html,轉載請聲明來源鉆瓜專利網。





