一种检测ARM平台多路服务器UEFI BIOS版本一致的方法技术

技术编号:15079765 阅读:122 留言:0更新日期:2017-04-07 12:17
本发明专利技术公开了一种检测ARM平台多路服务器UEFI BIOS版本一致的方法,所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILD date 和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。本发明专利技术能提高产品质量,完善产品功能,减少潜在的问题,预防产品漏洞,且不会增加硬件器件和线路,完全由BDK和BMC的软件代码配合完成,所有服务器均可实现。

A method for detecting the BIOS server UEFI version of ARM platform

The invention discloses a method for detection of ARM platform UEFI multichannel server version of BIOS agreement, the method through the mechanism of adding BIOS file consistency check, BDK read the BIOS file BUILD date and Version, then to BMC sent by I2C, BMC by comparing the two BIOS files, do not agree. On the issue of system alarm, to prompt. The invention can improve the quality of products, improve product features, reduce potential problems, prevent product vulnerabilities, without increasing the hardware devices and lines, completely by BDK and BMC software code with the completion of all the servers can be realized.

【技术实现步骤摘要】

本专利技术涉及ARM平台服务器,存储器设计
,具体涉及一种检测ARM平台多路服务器UEFIBIOS版本一致的方法。
技术介绍
对于X86平台,无论是单路CPU还是多路CPU的,一般我们都是挂接一个BIOS文件,当然这个BIOS文件可能根据FlashROM的大小,存放在两颗FlashRom中,比方说一颗8M,一颗4M,他们存放的内容是不一样的,这样整个BIOS文件就是12M的,多路CPU也会共用这个12M的BIOS文件,这是X86架构常用的设计,但是CaviumARM的架构设计不是这样,他的每路CPU都要挂接一个完整的BIOS文件,如果是二路CPU就要挂接两个这样的完整的BIOS文件。基于以上的设计,为了防止出现异常的情况,一般Cavium厂商建议要保证两颗CPU下面挂接的BIOS文件要一致,实际应用中也会在刷写BIOS的时候,尽量把两个刷写成同一个版本的BIOS。但是这样存在一个问题,就是万一在更新BIOS时一个更新成功,另一个不成功,或者说是直接忘记更新其中的一颗的话,这样造成的系统异常,有可能是不容易找出rootcause的,这就会给产品debug工作造成很大的麻烦,通过查看Cavium的代码,也发现他们并没有检查两颗CPU下面挂接的BIOS文件一致的机制。目前的流程是这样的,首先检查flashrom存储的介质,是挂在SPI下面还是挂在eMMC下面,或者其他的介质,然后就是读取介质里面的BIOS文件,然后就是boot这个image,并没有检查BIOS版本一致性的机制。
技术实现思路
本专利技术要解决的技术问题是:为了解决上述问题,本专利技术提出一种检测ARM平台多路服务器UEFIBIOS版本一致的方法。本专利技术所采用的技术方案为:一种检测ARM平台多路服务器UEFIBIOS版本一致的方法,所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILDdate和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。所述方法在BDK代码中添加程序,其功能是当BDK识别到BIOS文件的存储介质后,在加载BIOS文件之前,读取BIOS文件,并Search文件中的BIOSDate:字串和Ver:字串,并将时间和版本信息通过I2C通知BMC,BMC负责比较两个文件的BIOSDate:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。所述方法具体的实现方式如下:S10:BDK代码中添加程序,CPU1以二进制方式读取BIOS文件,并search其中的BIOSDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;S11:BMC接收到数据后,把数据存入到buffer1中;S12:CPU2以二进制方式读取BIOS文件,并search其中的BIOSDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;S13:BMC接收到数据后,把数据存入到buffer2中;S14:BMC比较buffer1和buffer2中的数据,相同则不做任何处理,不同则发出报警信息。本专利技术的有益效果为:本专利技术能提高产品质量,完善产品功能,减少潜在的问题,预防产品漏洞,且不会增加硬件器件和线路,完全由BDK和BMC的软件代码配合完成,所有服务器均可实现。附图说明图1为本专利技术流程图。具体实施方式下面根据说明书附图,结合具体实施方式对本专利技术进一步说明:实施例1:一种检测ARM平台多路服务器UEFIBIOS版本一致的方法,所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILDdate和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。实施例2:在实施例1的基础上,本实施例所述方法在BDK代码中添加程序,其功能是当BDK识别到BIOS文件的存储介质后,在加载BIOS文件之前,读取BIOS文件,并Search文件中的BIOSDate:字串和Ver:字串,并将时间和版本信息通过I2C通知BMC,BMC负责比较两个文件的BIOSDate:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。实施例3:如图1所示,在实施例2的基础上,本实施例所述方法具体的实现方式如下:S10:BDK代码中添加程序,CPU1以二进制方式读取BIOS文件,并search其中的BIOSDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;S11:BMC接收到数据后,把数据存入到buffer1中;S12:CPU2以二进制方式读取BIOS文件,并search其中的BIOSDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;S13:BMC接收到数据后,把数据存入到buffer2中;S14:BMC比较buffer1和buffer2中的数据,相同则不做任何处理,不同则发出报警信息。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网
...

【技术保护点】
一种检测ARM平台多路服务器UEFI BIOS版本一致的方法,其特征在于:所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILD date 和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。

【技术特征摘要】
1.一种检测ARM平台多路服务器UEFIBIOS版本一致的方法,其特征在于:所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILDdate和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。
2.根据权利要求1所述的一种检测ARM平台多路服务器UEFIBIOS版本一致的方法,其特征在于:所述方法在BDK代码中添加程序,其功能是当BDK识别到BIOS文件的存储介质后,在加载BIOS文件之前,读取BIOS文件,并Search文件中的BIOSDate:字串和Ver:字串,并将时间和版本信息通过I2C通知BMC,BMC负责比较两个文件的BIOSDate:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。

【专利技术属性】
技术研发人员:郭章平
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1