[發明專利]基于Linux實現PCIE設備熱插拔的方法及裝置在審
| 申請號: | 201510733115.6 | 申請日: | 2015-11-02 |
| 公開(公告)號: | CN105354162A | 公開(公告)日: | 2016-02-24 |
| 發明(設計)人: | 鄢來明;尹淇;劉勇剛;陳墾 | 申請(專利權)人: | 烽火通信科技股份有限公司 |
| 主分類號: | G06F13/40 | 分類號: | G06F13/40 |
| 代理公司: | 北京捷誠信通專利事務所(普通合伙) 11221 | 代理人: | 王衛東 |
| 地址: | 430074 湖北省*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 linux 實現 pcie 設備 熱插拔 方法 裝置 | ||
技術領域
本發明涉及通信技術領域,具體涉及基于Linux實現PCIE設備熱插拔的方法及裝置。
背景技術
隨著處理器技術的發展,對外部設備的訪問速率和可靠性要求越來越高,目前,PCIE接口成為了處理器普遍支持的接口之一,PCIE的熱插拔技術包含了支持熱插拔的系統硬件和系統軟件,在硬件方面需要有熱插拔控制器、接口卡電源開關邏輯線、接口卡復位線、提示按鈕(AttentionButton)、指示器(PowerIndicator/AttentionIndicator)和接口卡檢測腳(PRSNT1#、PRSNT2#信號)等,在軟件方面需要系統支持熱插拔的操作,能對設備的插拔作出相應的響應。
當要移除接口卡的時候,需要預先通知系統,包括兩種方式,通過提示按鈕或軟件程序的“用戶界面”來實現,當按下按鈕或操作軟件程序的“用戶界面”時,熱插拔控制器獲得該信息,并向PCIE控制器發出中斷信號,系統進行處理,中止驅動程序,關閉插槽電源,釋放接口卡所分配的系統資源等,當系統處理完成后,就會控制指示燈來指示操作者可以移除接口卡。
當要插入接口卡的時候,熱插拔控制器根據接口卡檢測管腳獲得該信息,向PCIE控制器發出中斷信號,系統進行處理,使能接口卡電源,掃描接口卡的PCIE設備,分配系統資源,加載驅動等。
雖然PCIE設備具有熱插拔功能,但是不同的處理器和系統對PCIE設備的熱插拔功能支持不同,例如對于PowerPc處理器,只能在Linux系統啟動過程中對整個PCIE控制器下的設備進行掃描時,對PowerPc處理器下掛的PCIE設備進行掃描,并分配地址空間,在Linux系統啟動后,無法單獨對PowerPc處理器下掛的PCIE設備進行掃描,并分配地址空間。
具體地,在Linux系統掃描PCIE設備的過程中,對于總線號的分配采用自上而下的順序分配,但是對于地址空間的分配采用自下而上的順序分配,如圖1所示,圖1為PCIE設備外設的結構圖,由PCIE控制器、PCIESWITCH和PCIE設備組成,其中,PCIE控制器的總線號為0,PCIESWITCH有一個上行口和四個下行口,在Linux系統掃描PCIE設備過程中,分配總線號由上往下依次分配,即PCIESWITCH的上行口總線號為1,四個下行口的總線號為2,四個下行口下掛的四個PCIE設備的總線號從左往右依次為3、4、5、6,而地址空間的分配則由下往上依次分配,首先會訪問四個PCIE設備來確定四個PCIE設備所需地址空間的大小,然后通過四個PCIE設備所需地址空間的大小來決定PCIESWITCH的四個下行口所需地址空間的大小,最終通過PCIESWITCH的四個下行口所需地址空間的大小來決定PCIE控制器給PCIESWITCH的上行口分配的地址空間的大小。
由上可知,PowerPc處理器無法在Linux系統啟動后實現PCIE設備熱插拔功能。
發明內容
本發明所要解決的技術問題是解決PowerPc處理器無法在Linux系統啟動后實現PCIE設備熱插拔功能的問題。
為了解決上述技術問題,本發明所采用的技術方案是提供一種基于Linux實現PCIE設備熱插拔的方法,包括以下步驟:
Linux系統啟動后,運行應用程序,加載具有掃描PCIE設備功能的驅動,初始化PCIESWITCH,預先為PCIESWITCH的每個下行口分配地址空間,然后掃描母卡上的FPGA;
創建線程,通過輪詢FPGA的寄存器檢測到PCIE插槽有子卡插入后,為插入的子卡供電;
掃描插入的子卡,通過訪問插入的子卡的配置空間來獲取其所需地址空間,并為其分配地址空間;
加載插入的子卡的驅動,啟動訪問插入的子卡的程序,通過輪詢FPGA的寄存器檢測到PCIE插槽有子卡被拔出后,退出訪問程序,并卸載拔出的子卡的驅動,通過訪問FPGA的寄存器為相應的PCIE插槽斷電。
在上述技術方案中,在所述PCIE插槽斷電后,所述Linux系統刪除相應的子卡的總線號,同時釋放相應的地址空間。
在上述技術方案中,所述PCIE設備包括所述母卡和所述子卡。
本發明還提供了一種基于Linux實現PCIE設備熱插拔的裝置,包括:
PCIESWITCH分配地址模塊,預先為PCIESWITCH的每個下行口分配地址空間;
檢測PCIE設備插入模塊,通過輪詢母卡上的FPGA的寄存器來檢測PCIE插槽中子卡的插入;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于烽火通信科技股份有限公司,未經烽火通信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510733115.6/2.html,轉載請聲明來源鉆瓜專利網。





