欢迎来到天天文库
浏览记录
ID:14227100
大小:273.00 KB
页数:8页
时间:2018-07-27
《基于嵌入式linux的ipmi驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于嵌入式Linux的IPMI驱动程序设计2012-04-28丁四华,张志政,东南大学摘要:针对Linux内核下通用IPMI协议实现部分过于复杂、繁琐、占用过多内存资源,不利于某些简单嵌入式应用场合的不足,提出了通过在FPGA逻辑模拟I2C通道的HOST单板与IPMC子卡的硬件环境上,采用经过简化的IPMI请求/应答消息格式,借助专业Linux的I2C核心框架,实现了相应的IPMI驱动程序功能,方便了管理员监测、管理、诊断系统状态,并根据系统崩溃时的状态,来及时恢复系统。本文详细描述了简化的IPMI协议原理,以及基于Linux内核I2C核心框架的
2、IPMI驱动的各功能模块的设计原理,并详细描述了IPMI驱动功能模块的数据收发流程。研究结果表明,改进的简化IPMI驱动功能模块有效的降低了系统的复杂度、节省了内存资源,达到了精简嵌入式应用系统的目的。关键词:Linux;IPMI协议;FPGA;IPMC子卡;I2C总线1.引言 IPMI(IntelligentPlatformManagementInterface)是一种无代理的智能平台管理接口,是由Intel等公司推出的一个重要的开放标准。IPMI定义了管理员如何监测系统硬件状态,控制系统组件和检索重要系统事件的日志以进行远程管理和恢复。
3、 近年来,广泛采用IPMI协议来监测硬件系统的状况,例如温度、风扇、电压和硬件错误(存储、网络等)和机箱防盗,刀片支持等。由于IPMI可以独立于操作系统之外,即使操作系统已经暂停或服务器已经关闭,管理员照样可以监测、管理、诊断和恢复系统。 针对Linux内核自带的IPMI驱动过于复杂、繁琐、占用过多内存资源的不足,本文根据ATCA(AdvancedTelecomComputingArchitecture)方案设计,采用简化的IPMI协议来管理ATCA机框内各硬件单板的物理地址与状态。ATCA平台的HOST单板通过I2C总线接口同IPM
4、C(IntelligentPlatformManagementController)子卡通信,从而获得启动所需的单板物理地址等消息,HOST单板和IPMC子卡之间采用IPMI协议进行通信。本文讨论了该方案在Linux下IPMI驱动程序功能的设计。2.IPMI协议原理 HOST单板和IPMC子卡之间的硬件接口通过I2C总线来通信,软件上采用IPMI协议。HOST单板不能直接获取单板的相关物理信息,必须要通过IPMI协议从IPMC子卡上获取。 下面描述IPMI协议设计要点。 (1)IPMI协议采用Request/Response的模
5、式,我们通常把IPMI的请求消息称为命令,通过采用Request/Response模式可使IPMI消息在不同的传输通道上传送,在我们的系统中,采用了I2C总线作为物理上面的传输通道进行消息的传送,上面传输的消息的格式按照IPMI协议规定的消息格式。 (2)IPMI命令是一个功能命令的集合,通过IPMI消息中的NetworkFunction字段来表示,这些命令集合中包括了与事件相关的一些命令集合。通过在命令集合里面不同的字段的不同含义来代表该条消息的具体请求。 (3)IPMI中所有的请求消息中都包括一个网络功能(NetworkFunct
6、ion),命令(command),以及可选的数据(data)字段。IPMI的响应消息和IPMI的请求消息采用同样的消息格式。IPMI消息分为请求和应答两种消息,具体的消息格式如下所示:图1IPMI请求消息格式图2IPMI应答消息格式 在IPMI消息中,一次请求消息的最大长度不能超过32Bytes,如图1中所示,在这最长的32个BYTES的消息结构中,包括了接收该消息的地址(ResponserAddress),自身的地址(RequesterAddress),消息中的NetFn/LUN字段总共是一个BYTE,前面6个bits表示的是NetFn,
7、后面的2个bits表示的请求方的LUN,Seq/Lun字段与NetFn/LUN字段相似,只不过前面的6个bits表示的是序列号,command字段用来表示具体的命令,data字段中存放的是具体的数据,最大长度不能超过25bytes,除了上面的三个字段外,还有两个校验和字段,分别用来对消息头和消息体来进行校验。 应答消息(参见图2)和请求消息在结构上面相同,在回应请求的应答消息中用该将请求的地址和响应的地址字段相互调换,序列号保持不变,NetFn字段加1,LUN填写的是将请求消息中的字段互换。例如在HOST通过IPMC获取32bits的物理信
8、息,HOST按照请求的消息格式发送一条请求到IPMC,IPMC收到后,按照响应的消息的格式发送应答到HOST,并将物理信息放到应答消息的
此文档下载收益归作者所有