pcie的hotplug概念

PCIE的hotplug操作讨论

hotplug的概念

hotplug--热插拔即“带电插拔”,指可以在电脑系统运作时插上或拔除硬件设备。配合适当的软件,便可以在不用关闭电源的情况下插入或拔除支持热插拔的周边设备,不会导致主机或周边设备烧毁并且能够实时侦测及使用新的设备。这个比即插即用(Plug-and-Play)可方便多了。

说道hot-plug那么就会想到hot-removal,这个道理是相互联系,且相通的。下面会就hot-plug的工作原理做一些简单的讨论,详细的理论最好将code 和datesheet结合一起研究。

 

hotplug几个环节

hotplug中间有好几个环节,事件发生时,会产生一连串的反应。下图可以举例简单说明下在window-xp下ExpressCard的hotplug流程。

这个流程是关于ExpressCard的,类似于PCIe的hotplug流程。实际情况中,PCIe的hotplug会设计到一些概念:

1、Indicators

标准模型中定义两个indicators:一个Power Indicator和一个Attention Indicator。都会有三种状态:ON;OFF;Blinking。对应的软件层通过下command对这些Indicator有独立的控制权。

Attention Indicator是黄色的灯,用来指示出现了操作的问题,或者表示hotplug slot已经被识别到了,手动操作可以很容易定位到。

Power Indicator是绿色的灯,表示slot的power状态,可以用blink指示总线对用户的操作产生了响应。

2、MRL

MRL是一种手动操作保留机制。保持插入卡在slot上,防止用户移除卡。系统添加了一个MRL sensor,以便侦测每个port对应的slot的MRL。

3、Attention Button

Attention Button是hotplug中定义的一个开关按钮,一般会在slot上或者在卡片上。按一下表明要做一个hotplug动作或者removal动作。

 

hotplug的软件层面

针对PCIe port有一系列的register来实现对hotplug的事件的侦测和处理。

1、  Attention Button register

必须在bios中设定好‘Attention Button Pressed Enable’位,表示使能在hotplug的事件中可以产生中断和wakeup信号。

2、  Attention Indicator Register

主要有‘Attention Indicator control’寄存器。用来控制卡片上device的attentionindicator。可读写。

3、  Power indicator register

类似于attention indicator controller。

4、  Presence detect register

很重要的一个标志位,‘presence detect state’位表示slot上有卡片存在。

 

hotplug在系统上的支持

操作系统对PCIe的hotplug的支持,主要涉及到ACPI部分。当BIOS中已经将hotplug的功能做好初始化之后,进入OS,接下来的动作就是有ACPI中的method来完成了。

Bios会将系统的中断导入GPE,这样ACPI可以响应PCIe的hotplug的事件,包括hotplug和hot-removal。

 

 

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值