一种整机系统更新SMBIOS静态信息的方法与流程

文档序号:11230378阅读:625来源:国知局
一种整机系统更新SMBIOS静态信息的方法与流程

本发明属于计算机技术领域,尤其涉及一种整机系统更新smbios静态信息的方法。



背景技术:

服务器主板的smbios信息分为静态信息和动态信息,静态信息在bios文件制作时就已经预先确定,需要开发人员来决定静态信息的内容。动态信息在bios运行过程中,通过收集主板上的硬件设备信息,然后将信息更新到smbios数据表中。同一片主板,不管主板上的处理器、内存及其他外部设备怎样变化,静态信息都不会变化,但是动态信息会随着这些硬件设备的不同而变化。

smbios静态信息需要开发人员预先确定在bios文件中,不能根据硬件的变化而修改,当使用同一款服务器主板搭配不同的服务器机箱时,组合成不同整机系统,不同的整机系统就会构建不同的smbios静态信息,一款主板可能对应十几款整机系统。因为bios无法识别是哪一种类的整机系统,也就无法自动更新smbios静态信息。目前的做法是,根据不同的整机系统制作不同的bios,每个bios里面构建不同的smbios静态信息,这样虽然能满足要求,但是众多的软件版本给软件管理和生产带来极大的麻烦,及其容易产生错误。



技术实现要素:

针对以上技术问题,本发明公开了一种整机系统更新smbios静态信息的方法,不用再为同一主板而不同机箱和不同配置的整机系统制作对应的bios,主板和bios一一对应,解决了众多软件版本管理繁杂混乱的问题,解决了生产过程易出错的问题。

对此,本发明采用的技术方案为:

一种整机系统更新smbios静态信息的方法,所述整机系统的机箱的背板上设有eeprom,所述eeprom通过背板连接到主板的pch芯片的smbus总线上;所述eeprom里存放有整机系统的类型标识,pch里面的smbus控制器获取eeprom里面的类型标识数据,从而识别对应的整机系统;然后根据整机系统的专有属性,更新smbios数据结构表。

采用此技术方案,通过在背板设置eeprom,将机箱和主板连接起来,建立通信,识别整机系统,添加整机系统识别标识,bios获取标识,并根据标识来识别整机系统,再更新整机系统专有的smbios静态信息。通过这样设计,不用再为同一主板而不同机箱和不同配置的整机系统制作对应的bios,主板和bios一一对应,解决了众多软件版本管理繁杂混乱的问题,解决生产过程易出错的问题。

作为本发明的进一步改进,所述整机系统更新smbios静态信息的方法包括以下步骤:

步骤s1,启动bios,对smbus控制器进行初始化;

步骤s2,smbus控制器与eeprom通信,并获取eeprom中的整机系统的类型标识,根据类型标识判断当前的整机系统型号,然后根据整机系统的专有属性,建立专有的smbios静态信息,接下来开始更新smbios数据结构表。

作为本发明的进一步改进,所述整机系统的专有属性包括系统名称、机箱名称、pcie设备裂分类型和pcie插槽数量。

作为本发明的进一步改进,所述更新smbios数据结构表包括以下步骤:

步骤s201,寻找smbios数据结构表所在的内存地址位置;

步骤s202,将smbios数据结构表的内存地址空间进行解锁,让数据结构表可修改;

步骤s203,根据要更新的smbios数据结构表的type类型,在数据结构表中进行搜索,找到此type类型结构表所在位置,将刚刚建立的静态信息更新到此type的数据表中;

步骤s204,寻找下一个要更新的type类型数据结构表,继续更新,直到所有需要更新的type类型数据结构表。

作为本发明的进一步改进,还包括步骤s205,更新完毕后,将数据结构表的内存地址空间锁住,防止被误修改。

作为本发明的进一步改进,步骤s2中,smbus控制器根据eeprom设备的smbus地址,建立通信,如果反馈未发现eeprom设备、或者虽然发现设备但获取整机标识与实际整机标识不匹配的结果,则结束操作。

与现有技术相比,本发明的有益效果为:

采用本发明的技术方案,通过在背板设置eeprom,并将机箱和主板连接起来,建立通信,识别整机系统,对静态信息也能进行自动修改更新,使整个smbios数据结构表都处于可修改状态;只需要一款bios软件,就能适用同款主板所对应的所有整机系统,为系统提供了准确的smbios信息;解决了现有技术bios原本只能在开机过程搜集硬件信息然后更新smbios动态信息,静态信息无法修改的问题。

附图说明

图1是本发明一种实施例的主板与机箱背板的连接结构示意图。

图2是本发明一种整机系统更新smbios静态信息的方法的流程图。

具体实施方式

下面对本发明的较优的实施例作进一步的详细说明。

如图1所示,

一种整机系统更新smbios静态信息的方法,如图1所示,所述整机系统的机箱的背板上设有smbus接口的eeprom,所述eeprom通过背板连接到主板的pch芯片的smbus总线上;所述eeprom里存放有整机系统的机箱的类型标识,pch里面的smbus控制器获取eeprom里面的类型标识数据,从而识别对应的整机系统;然后根据整机系统的专有属性,更新smbios数据结构表。

如图2所示,所述更新smbios数据结构表具体包括以下步骤:

步骤s1:bios启动以后,首先对smbus控制器进行初始化,让smbus控制器能正常工作;

步骤s2:smbus控制器根据eeprom设备的smbus地址,建立通信,如果反馈未发现eeprom设备,或者虽然发现设备但获取整机标识与实际整机标识不匹配的结果,就结束操作,使用默认smbios信息。

如果正常获取整机标识,根据整机标识判断当前的整机系统型号,然后根据整机系统的专有属性,建立专有的smbios静态信息,接下来开始更新smbios数据结构表。其中,所述整机系统的专有属性包括系统名称、机箱名称、pcie设备裂分类型和pcie插槽数量等。

所述更新smbios数据结构表包括以下步骤:

首先寻找smbios数据结构表所在的内存地址位置,找到后,将smbios数据结构表的内存地址空间进行解锁,让数据结构表可修改,然后根据要进行更新的smbios数据结构表的type类型,在数据结构表中进行搜索,找到此type类型结构表所在位置,将刚刚建立的静态信息更新到此type的数据表中,然后寻找下一个要更新的type类型数据结构表,找到后,继续更新,直到所有需要更新的type类型数据结构表。更新完毕后,将将数据结构表的内存地址空间锁住,防止被误修改。

本发明中所涉及的英文缩写解释如下:

bios(basicinputoutputsystem):基本输入输出系统,主要用于计算机开机过程中各种硬件设备的初始化和检测。

pcie(pci-express):一种高速串行总线接口技术标准。

smbios(systemmanagementbios):主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。

pch:(platformcontrollerhub):intel公司的集成南桥。

smbus(systemmanagementbus):系统管理总线。

eeprom(electricallyerasableprogrammableread-onlymemory):电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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