PCIe總線自V2.0加入了功能層復(fù)位(Function Level Reset,F(xiàn)LR)的功能。該功能主要針對(duì)的是支持多個(gè)功能的PCIe設(shè)備(Multi-Fun PCIe Device),可以實(shí)現(xiàn)只對(duì)特定的Function復(fù)位,而其他的Function不受影響。當(dāng)然,該功能是可選的,并非強(qiáng)制的,軟件可以通過(guò)查詢配置空間中的設(shè)備功能寄存器(Device Capability Register)來(lái)查詢?cè)揚(yáng)CIe設(shè)備是否支持FLR。如下圖所示:
并可以通過(guò)設(shè)備控制寄存器(Device Control Register)中的將Initiate Function Level Reset bit置1,來(lái)產(chǎn)生FLR。
FLR只復(fù)位對(duì)應(yīng)Function的內(nèi)部狀態(tài)和寄存器(使其暫時(shí)不變化,Making it quiescent),但是并不影響Sticky bits、有硬件初始化的值(Hardware-initialized bits)和鏈路專用寄存器(比如Captured Power,ASPM Control、Max Payload Size以及VC等寄存器)。如果該設(shè)備在FLR前,發(fā)出了Assert INTx中斷消息,必須在開(kāi)始FLR之前在發(fā)出對(duì)應(yīng)的Deassert INTx消息,除非該INTx已經(jīng)被與其他Function共享了。當(dāng)收到FLR后,該Function的所有的其他功能都應(yīng)被立即停止(Required to cease)。
此外,PCIe Spec還明確給出了FLR的完成時(shí)間應(yīng)在100ms以內(nèi)。
PCIe Spec還明確規(guī)定了,當(dāng)某個(gè)Function處于FLR狀態(tài)時(shí)的一些特性:
· 該Function必須將任何軟件可讀取的狀態(tài)(可能包括加密信息等)打亂。換句話說(shuō),任何內(nèi)部存儲(chǔ)都必須被清零或者隨機(jī)化;
· 該Function必須可以被另一個(gè)Diver配置為一般模式;
· 該Function必須為其收到的包含有FLR信息的配置寫(xiě)(Configuration Write)返回一個(gè)Completion,然后再進(jìn)行FLR操作。
在進(jìn)入FLR狀態(tài)后,還需要:
· 該Function接收到的任何請(qǐng)求都應(yīng)該被直接丟棄,且不登記(Logging),也不報(bào)錯(cuò)誤。但是FC Credits必須要被更新,以維持鏈路的正常操作;
· 該Function接收到的任何Completion都應(yīng)該被當(dāng)做Unexpected Completions,然后直接丟棄,且不登記,也不報(bào)錯(cuò)。
-
寄存器
+關(guān)注
關(guān)注
31文章
5423瀏覽量
123418 -
總線
+關(guān)注
關(guān)注
10文章
2952瀏覽量
89375 -
PCIe
+關(guān)注
關(guān)注
16文章
1324瀏覽量
84710
原文標(biāo)題:【博文連載】PCIe掃盲——復(fù)位機(jī)制介紹(FLR)
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【二五珠智能中國(guó)算盤】之完全功能版 ChinaAbacus V2.0
Cloud電子沙漏V2.0
Cloud電子沙漏V2.0
求助:PADS v2.0版本無(wú)法使用基本腳本功能
PCIe總線的復(fù)位方式是什么?
求助,請(qǐng)問(wèn)nu-link-me v2.0如何開(kāi)啟虛擬串口功能?
CAN技術(shù)規(guī)范(V2.0)
Protel for Windows v2.0 SCH 漢化
HC6800-ES V2.0開(kāi)發(fā)板的結(jié)構(gòu)功能和知識(shí)要點(diǎn)的資料說(shuō)明
PCIe總線的兩種復(fù)位方式
dfrobotCAN-BUS 總線擴(kuò)展板 V2.0簡(jiǎn)介

REEE機(jī)器v2.0開(kāi)源分享

評(píng)論