检测多路服务器UEFIBIOS版本一致的方法与流程

文档序号:12363486阅读:557来源:国知局

技术领域

本发明涉及服务器技术领域,具体的说是检测多路服务器UEFI BIOS版本一致的方法。



背景技术:

对于X86架构平台,无论是单路CPU还是多路CPU的,一般都是挂接一个BIOS 文件,BIOS文件可能根据Flash ROM的大小,存放在两颗Flash Rom中。比方说一颗Flash Rom8M,另一颗4M,他们存放的内容是不一样的,这样整个BIOS文件就是12M的,多路系统的其他CPU会共用这个12M的BIOS文件,这是X86架构常用的设计。

但是Cavium ARM的架构设计不同于X86架构,其每路CPU都要挂接一个完整的BIOS文件,如果是二路CPU就要挂接两个这样的完整的BIOS文件,二路以上理论上就要挂接多个Flash 芯片,但目前Cavium ARM最高做成二路。为了防止出现异常的情况,一般要保证两颗CPU下面挂接的Flash ROM中的BIOS文件要一致,这样会在刷写BIOS的时候,尽量把两个Flash ROM刷写成同一个版本的BIOS。但是这样存在一个问题,如果在更新BIOS时一个更新成功,另一个不成功,或者说是直接忘记更新其中的一颗的话,这样造成的系统异常通常不容易找出root cause,这就会给产品debug工作造成很大的麻烦。

假设一颗Flash ROM中的BIOS版本是1.0.1版,另一个是1.0.2版,这两个BIOS中对CPU和内存的配置是不一样的,虽然这种情况下启动系统是没问题的,但是由于配置的不一样,就可能会产生系统的异常。通过查看Cavium的代码,发现并没有检查两颗CPU下面挂接的BIOS文件是否一致的机制,整个过程是,首先检查flash rom存储的介质,是挂在SPI下面还是挂在eMMC下面,或者其他的介质,然后就是读取介质里面的BIOS文件,然后就是boot这个image,并没有检查BIOS版本一致性的机制。



技术实现要素:

本发明针对目前技术发展的需求和不足之处,提供一种ARM平台检测多路服务器UEFI BIOS版本一致的方法。

本发明所述检测多路服务器UEFI BIOS版本一致的方法,解决上述技术问题采用的技术方案如下:所述检测多路服务器UEFI BIOS版本一致的方法,通过更改CPLD的逻辑,并在BMC中添加程序,使得系统具备BIOS文件一致性检查功能,通过CPLD使得两个CPU分别挂接两颗Flash ROM,让BMC分别和两颗Flash ROM连通,并读取两颗Flash ROM的BIOS文件,最后由BMC比较这两个BIOS文件,,进而检测多路服务器UEFI BIOS版本是否一致。

优选的,Cavium ARM的架构中设置的两个CPU记为CPU0和CPU1,首先CPLD开通CPU0 FLASH ROM,使得BMC能够通过SPI总线访问CPU0 FLASH ROM;通过BMC读取CPU0 FLASH ROM中的BIOS文件,并Search文件中的BIOS Date:和Ver:字串,存入Buffer0中。

优选的,然后CPLD开通CPU1 FLASH ROM,使得BMC能够通过SPI总线访问CPU1 FLASH ROM;通过BMC读取CPU1 FLASH ROM中的BIOS文件,并Search文件中的BIOS Date:和Ver:字串,存入Buffer1中。

优选的,最后由BMC负责比较buffer0和buffer1中的BIOS Date:和Ver:字串,一致则不处理,不一致则发出报警信息通知用户或者工程师。

本发明所述检测多路服务器UEFI BIOS版本一致的方法与现有技术相比具有的有益效果是:本发明不会增加硬件器件和线路,完全由BMC和CPLD的软件代码配合完成,通过BMC和两颗Flash ROM连通读取Flash ROM的BIOS文件,来比较两个BIOS文件是否一致,实现多路服务器UEFI BIOS版本一致性检测;解决了现有技术没有检查两颗CPU下面挂接的BIOS文件是否一致的问题,便于系统故障维护操作,提供了系统运行安全性,完善了服务器产品功能;所有服务器均可采用本发明实现UEFI BIOS版本一致性检测,适用范围大,具有很好的通用性实用性。

说明书附图

附图1为所述检测多路服务器UEFI BIOS版本一致的方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述检测多路服务器UEFI BIOS版本一致的方法进一步详细说明。

通常Cavium ARM的架构中设置有两个CPU,在服务器系统设计时,Flash ROM是通过CPLD和CPU连接的,同时CPLD也通过SPI总线连接到BMC。本发明所述检测多路服务器UEFI BIOS版本一致的方法,通过更改CPLD的逻辑,并在BMC中添加程序,使得系统具备BIOS文件一致性检查功能,通过CPLD使得两个CPU分别挂接两颗Flash ROM,让BMC分别和两颗Flash ROM连通,并读取两颗Flash ROM的BIOS文件,最后由BMC比较这两个BIOS文件,进而检测多路服务器UEFI BIOS版本是否一致。

实施例:

Cavium ARM的架构中设置的两个CPU记为CPU0和CPU1,本实施例所述检测多路服务器UEFI BIOS版本一致的方法,通过更改CPLD的逻辑,并在BMC中添加程序,进行BIOS文件一致性检测;如附图1所示其具体过程包括如下步骤:

1)首先,CPLD开通CPU0 FLASH ROM,使得BMC能够通过SPI总线访问CPU0 FLASH ROM;

2)BMC读取CPU0 FLASH ROM中的BIOS文件,并Search文件中的BIOS Date:和Ver:字串,存入Buffer0中;

3)然后,CPLD开通CPU1 FLASH ROM,使得BMC能够通过SPI总线访问CPU1 FLASH ROM;4)BMC读取CPU1 FLASH ROM中的BIOS文件,并Search文件中的BIOS Date:和Ver:字串,存入Buffer1中;

5)最后由BMC负责比较buffer0和buffer1中的数据(BIOS Date:和Ver:字串),一致则不处理,不一致则发出报警信息通知用户或者工程师。

上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1