一种检测arm平台多路服务器uefibios版本一致的方法

文档序号:9887558阅读:601来源:国知局
一种检测arm平台多路服务器uefi bios版本一致的方法
【技术领域】
[0001]本发明涉及ARM平台服务器,存储器设计技术领域,具体涉及一种检测ARM平台多路服务器UEFI B1S版本一致的方法。
【背景技术】
[0002]对于X86平台,无论是单路CPU还是多路CPU的,一般我们都是挂接一个B1S文件,当然这个B1S文件可能根据Flash ROM的大小,存放在两颗Flash Rom中,比方说一颗8M,一颗4M,他们存放的内容是不一样的,这样整个B1S文件就是12M的,多路CHJ也会共用这个12M的B1S文件,这是X86架构常用的设计,但是Cavium ARM的架构设计不是这样,他的每路CPU都要挂接一个完整的B1S文件,如果是二路CPU就要挂接两个这样的完整的B1S文件。基于以上的设计,为了防止出现异常的情况,一般Cavium厂商建议要保证两颗CPU下面挂接的B1S文件要一致,实际应用中也会在刷写B1S的时候,尽量把两个刷写成同一个版本的B1S。
[0003]但是这样存在一个问题,就是万一在更新B1S时一个更新成功,另一个不成功,或者说是直接忘记更新其中的一颗的话,这样造成的系统异常,有可能是不容易找出rootcause的,这就会给产品debug工作造成很大的麻烦,通过查看Cavium的代码,也发现他们并没有检查两颗CPU下面挂接的B1S文件一致的机制。目前的流程是这样的,首先检查flashrom存储的介质,是挂在SPI下面还是挂在eMMC下面,或者其他的介质,然后就是读取介质里面的B1S文件,然后就是boot这个image,并没有检查B1S版本一致性的机制。

【发明内容】

[0004]本发明要解决的技术问题是:为了解决上述问题,本发明提出一种检测ARM平台多路服务器UEFI B1S版本一致的方法。
[0005]本发明所采用的技术方案为:
一种检测ARM平台多路服务器UEFI B1S版本一致的方法,所述方法通过添加B1S文件一致性检查的机制,BDK读取B1S文件的BUILD date和Vers1n,然后通过I2C发送给BMC,由BMC比较两个B1S文件,不一致的话,就发出系统报警,来进行提示。
[0006]所述方法在BDK代码中添加程序,其功能是当BDK识别到B1S文件的存储介质后,在加载B1S文件之前,读取B1S文件,并Search文件中的B1S Date:字串和Ver:字串,并将时间和版本信息通过I2C通知BMC,BMC负责比较两个文件的B1S Date:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。
[0007]所述方法具体的实现方式如下:
SlO: BDK代码中添加程序,CPUl以二进制方式读取B1S文件,并search其中的B1SDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;
SI 1: BMC接收到数据后,把数据存入到buff erI中;
S12:CPU2以二进制方式读取B1S文件,并search其中的B1S Date:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;
S13:BMC接收到数据后,把数据存入到buffer2中;
S14:BMC比较bufferl和buffer2中的数据,相同则不做任何处理,不同则发出报警信息。本发明的有益效果为:
本发明能提高产品质量,完善产品功能,减少潜在的问题,预防产品漏洞,且不会增加硬件器件和线路,完全由BDK和BMC的软件代码配合完成,所有服务器均可实现。
【附图说明】
[0008]图1为本发明流程图。
【具体实施方式】
[0009]下面根据说明书附图,结合【具体实施方式】对本发明进一步说明:
实施例1:
一种检测ARM平台多路服务器UEFI B1S版本一致的方法,所述方法通过添加B1S文件一致性检查的机制,BDK读取B1S文件的BUILD date和Vers1n,然后通过I2C发送给BMC,由BMC比较两个B1S文件,不一致的话,就发出系统报警,来进行提示。
[0010]实施例2:
在实施例1的基础上,本实施例所述方法在BDK代码中添加程序,其功能是当BDK识别到B1S文件的存储介质后,在加载B1S文件之前,读取B1S文件,并Search文件中的B1SDate:字串和Ver:字串,并将时间和版本信息通过12C通知BMC,BMC负责比较两个文件的B1S Date:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。
[0011]实施例3:
如图1所示,在实施例2的基础上,本实施例所述方法具体的实现方式如下:
SlO: BDK代码中添加程序,CPUl以二进制方式读取B1S文件,并search其中的B1SDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;
SI 1: BMC接收到数据后,把数据存入到buff erl中;
S12:CPU2以二进制方式读取B1S文件,并search其中的B1S Date:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC;
S13:BMC接收到数据后,把数据存入到buffer2中;
S14:BMC比较bufferl和buffer2中的数据,相同则不做任何处理,不同则发出报警信息。
[0012]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种检测ARM平台多路服务器UEFI B1S版本一致的方法,其特征在于:所述方法通过添加B1S文件一致性检查的机制,BDK读取B1S文件的BUILD date和Vers1n,然后通过I2C发送给BMC,由BMC比较两个B1S文件,不一致的话,就发出系统报警,来进行提示。2.根据权利要求1所述的一种检测ARM平台多路服务器UEFIB1S版本一致的方法,其特征在于:所述方法在BDK代码中添加程序,其功能是当BDK识别到B1S文件的存储介质后,在加载B1S文件之前,读取B1S文件,并Search文件中的B1S Date:字串和Ver:字串,并将时间和版本信息通过I2C通知BMC,BMC负责比较两个文件的B1S Date:字串和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。3.根据权利要求2所述的一种检测ARM平台多路服务器UEFIB1S版本一致的方法,其特征在于,所述方法具体的实现方式如下: S10: BDK代码中添加程序,CPUl以二进制方式读取B1S文件,并search其中的B1SDate:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC; SI 1: BMC接收到数据后,把数据存入到buff erI中; S12:CPU2以二进制方式读取B1S文件,并search其中的B1S Date:字串和Ver:字串,把其后面的数值读取出来,通过I2C总线发送给BMC; S13:BMC接收到数据后,把数据存入到buffer2中; S14: BMC比较buf f er I和buf f er2中的数据,相同则不做任何处理,不同则发出报警信息。
【专利摘要】本发明公开了一种检测ARM平台多路服务器UEFI?BIOS版本一致的方法,所述方法通过添加BIOS文件一致性检查的机制,BDK读取BIOS文件的BUILD?date?和Version,然后通过I2C发送给BMC,由BMC比较两个BIOS文件,不一致的话,就发出系统报警,来进行提示。本发明能提高产品质量,完善产品功能,减少潜在的问题,预防产品漏洞,且不会增加硬件器件和线路,完全由BDK和BMC的软件代码配合完成,所有服务器均可实现。
【IPC分类】G06F11/36
【公开号】CN105653457
【申请号】
【发明人】郭章平
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年6月8日
【申请日】2016年1月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1