欢迎来到天天文库
浏览记录
ID:27500273
大小:63.00 KB
页数:3页
时间:2018-12-04
《PCIe总线自V2.0加入了功能层复位的功能.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PCIe总线自V2.0加入了功能层复位的功能 PCIe总线自V2.0加入了功能层复位(FunctionLevelReset,FLR)的功能。该功能主要针对的是支持多个功能的PCIe设备(Multi-FunPCIeDevice),可以实现只对特定的Function复位,而其他的Function不受影响。当然,该功能是可选的,并非强制的,软件可以通过查询配置空间中的设备功能寄存器(DeviceCapabilityRegister)来查询该PCIe设备是否支持FLR。如下图所示: 并可以通过设备控制寄存器(DeviceControlRegister)中的将Initiat
2、eFunctionLevelResetbit置1,来产生FLR。 FLR只复位对应Function的内部状态和寄存器(使其暂时不变化,Makingitquiescent),但是并不影响Stickybits、有硬件初始化的值(Hardware-initializedbits)和链路专用寄存器(比如CapturedPower,ASPMControl、MaxPayloadSize以及VC等寄存器)。如果该设备在FLR前,发出了AssertINTx中断消息,必须在开始FLR之前在发出对应的DeassertINTx消息,除非该INTx已经被与其他Function共享了。当收到
3、FLR后,该Function的所有的其他功能都应被立即停止(Requiredtocease)。 此外,PCIeSpec还明确给出了FLR的完成时间应在100ms以内。 PCIeSpec还明确规定了,当某个Function处于FLR状态时的一些特性: ·该Function不能有任何与外界通信的(外部)接口; ·该Function必须将任何软件可读取的状态(可能包括加密信息等)打乱。换句话说,任何内部存储都必须被清零或者随机化; ·该Function必须可以被另一个Diver配置为一般模式; ·该Function必须为其收到的包含有FLR信息的配置写(Config
4、urationWrite)返回一个Completion,然后再进行FLR操作。 在进入FLR状态后,还需要: ·该Function接收到的任何请求都应该被直接丢弃,且不登记(Logging),也不报错误。但是FCCredits必须要被更新,以维持链路的正常操作; ·该Function接收到的任何Completion都应该被当做UnexpectedCompletions,然后直接丢弃,且不登记,也不报错。
此文档下载收益归作者所有