一种利用SMBIOS扩展BIOS功能的方法、系统及介质技术方案

技术编号:19903027 阅读:23 留言:0更新日期:2018-12-26 02:47
本发明专利技术提供的一种利用SMBIOS扩展BIOS功能的方法、系统及介质,采用SMBIOS表中Type11 OEM字符串作为传输媒介,将用户需求传递到BIOS当中,BIOS将字符串数据进行解析,根据要求去完成特定功能的方案,解决现有技术中BIOS提供用户操作界面不够灵活的技术问题,实现扩展BIOS功能,扩展空间很大,让用户灵活调用BIOS功能接口,让BIOS与BMC通信配合工作,对功能进行灵活的控制。

【技术实现步骤摘要】
一种利用SMBIOS扩展BIOS功能的方法、系统及介质
本专利技术涉及BIOS系统领域,具体而言,涉及一种利用SMBIOS扩展BIOS功能的方法、系统及介质。
技术介绍
BIOS是主板上的底层固件,负责对主板上硬件自检、初始化、资源分配等工作,让主板能正常工作,如果出现硬件初始化错误,可以输出错误信息。BIOS也根据要求实现一些特定功能,并能和BMC、操作系统进行信息传递。BIOS提供用户操作界面,用户可以根据需要在操作界面上查阅硬件信息,对部分功能进行控制操作,选择不同属性或者开启关闭。当前BIOS提供给用户的操作界面进行设置,用户根据需要进行更改并保存,一旦出现电池断电或者某些错误情况,BIOS会恢复默认值,所有用户设置将不再存在,给客户带来麻烦。不能灵活应对客户对功能配置的要求,仅仅提供BIOS操作界面很难实现。例如,1.BIOS实现某些特定功能,需要特定用户才能使用,并且有时效限制;2.用户根据需要通过BIOS与BMC进行通信,实现某些特定功能;3.在初始化硬件报错时,将关键错误信息提取并报告给用户。
技术实现思路
本专利技术提供一种利用SMBIOS扩展BIOS功能的方法,采用SMBIOS表中Type11OEM字符串作为传输媒介,将用户需求传递到BIOS当中,BIOS将字符串数据进行解析,根据要求去完成特定功能的方案,解决现有技术中BIOS提供用户操作界面不够灵活的技术问题。本专利技术为解决上述技术问题而提供的这种利用SMBIOS扩展BIOS功能的方法,包括以下步骤:A.BIOS开始运行:主板上电以后,BIOS开始运行,并进行基本硬件自检;B.定义Type11数据命令格式:定义SMBIOS表Type11字符串的数据格式,不同的数据对应不同的功能接口;C.初始化SMBIOS表:初始化所述SMBIOS表,将添加、移除、读写所述SMBIOS表的接口函数初始化完成,让所述BIOS可以调用接口函数对所述SMBIOS表进行操作;D.搜寻Type11结构表:获取SMBIOS表的地址,开始查找所述Type11类型结构表;E.是否存在Type11结构表:判断是否存在所述Type11结构表,如果没有找到所述Type11结构表,那么进行步骤K,如果搜寻到所述Type11结构表,获取所述Type11结构表数据,进行步骤G;G.读取Type11中第N个字符串:获取所述Type11结构表中字符串的数量N,读取所述BIOS给用户端预留的可添加的功能数量N;H.解析字符串数量N中第一个字符:解析字符串数量N,读取数量N中的第1个字符串数据,比对字符串中所述第1个字符,查看是否能对应预先定义的功能代码,如果不能对应,此字符串不再处理,开始读取下一个字符串;I.字符串是否检查完毕:当1个字符串处理完成,判断是否完成所有字符串处理,如果没有就继续处理下一个字符串,进行步骤G,如果处理完,就进行步骤K;K.继续执行操作:继续执行其他操作。所述步骤B中所述定义SMBIOS表Type11字符串的数据格式是对所述SMBIOS表中所述Type11的OEM字符串进行操作,写入命令数据,数据格式应该按照预先定义的格式,以便于BIOS识别;所述步骤H中所述查看是否能对应预先定义的功能代码是如果第1字符对应功能代码0x01,定义为功能控制,接着解析第2个字符,它对应的是具体的功能项,例如字符是0x06,那对应就是第0x06个功能,接下来解析字符串中剩余字符,这些剩余字符作为功能密钥处理,BIOS将密钥信息提取出来,对功能项进行控制处理;如果第1个字符对应的功能代码0x02,定义为BMC通信功能,接下来解析第2个字符,它定义的是读写命令,接下来就是解析字符串中剩余字符,作为通信数据发送给BMC,读命令时,向BMC发送命令,获取返回值,然后BIOS根据返回值再做进一步处理,写命令时,向BMC发送命令,让BMC执行特定功能;如果第1个字符对应的功能代码0x03,定义为诊断日志输出,接下来解析第2个字符,它定义的是诊断代码段号码,BIOS根据此号码打开相应代码段的诊断信息,并将关键信息提取出来,记录到字符串中。所述字符里面包含功能开启关闭控制、功能有效时限等信息。所述功能项可以根据需要扩充,增加BIOS不同默认配置的功能项,可以根据不能密钥信息,选择不同的BIOS默认值。一种利用SMBIOS扩展BIOS功能的系统,其特征在于:所述利用SMBIOS扩展BIOS功能的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。本专利技术所具有的有益效果:本专利技术方法中,创新性地利用SMBIOS表中OEMType11字符串作为传输媒介,扩展BIOS功能,扩展空间很大;让用户灵活调用BIOS功能接口,让BIOS与BMC通信配合工作,对功能进行控制;为开发人员提供可选的分段诊断信息输出的机制,利于客户现场分析。附图说明图1是本专利技术所述利用SMBIOS扩展BIOS功能的方法示意图。具体实施方式结合上述附图说明本专利技术的具体实施例。由图1可知,本专利技术提供一种利用SMBIOS扩展BIOS功能的方法,包括以下步骤:A.BIOS开始运行:主板上电以后,BIOS开始运行,并进行基本硬件自检;B.定义Type11数据命令格式:定义SMBIOS表Type11字符串的数据格式,不同的数据对应不同的功能接口;C.初始化SMBIOS表:初始化所述SMBIOS表,将添加、移除、读写所述SMBIOS表的接口函数初始化完成,让所述BIOS可以调用接口函数对所述SMBIOS表进行操作;D.搜寻Type11结构表:获取SMBIOS表的地址,开始查找所述Type11类型结构表;E.是否存在Type11结构表:判断是否存在所述Type11结构表,如果没有找到所述Type11结构表,那么进行步骤K,如果搜寻到所述Type11结构表,获取所述Type11结构表数据,进行步骤G;G.读取Type11中第N个字符串:获取所述Type11结构表中字符串的数量N,读取所述BIOS给用户端预留的可添加的功能数量N;H.解析字符串数量N中第一个字符:解析字符串数量N,读取数量N中的第1个字符串数据,比对字符串中所述第1个字符,查看是否能对应预先定义的功能代码,如果不能对应,此字符串不再处理,开始读取下一个字符串;I.字符串是否检查完毕:当1个字符串处理完成,判断是否完成所有字符串处理,如果没有就继续处理下一个字符串,进行步骤G,如果处理完,就进行步骤K;K.继续执行操作:继续执行其他操作。所述步骤B中所述定义SMBIOS表Type11字符串的数据格式是对所述SMBIOS表中所述Type11的OEM字符串进行操作,写入命令数据,数据格式应该按照预先定义的格式,以便于BIOS识别;所述步骤H中所述查看是否能对应预先定义的功能代码是如果第1字符对应功能代码0x01,定义为功能控制,接着解析第2个字符,它对应的是具体的功能项,例如字符是0x06,那对应就是第0x06个功能,接下来解析字符串中剩余字符,这些剩余字符作为功能密钥处理,BIO本文档来自技高网...

【技术保护点】
1.一种利用SMBIOS扩展BIOS功能的方法,其特征在于:该方法包括以下步骤:A.BIOS开始运行:主板上电以后,BIOS开始运行,并进行基本硬件自检;B.定义Type11数据命令格式:定义SMBIOS表Type11字符串的数据格式,不同的数据对应不同的功能接口;C.初始化SMBIOS表:初始化所述SMBIOS表,将添加、移除、读写所述SMBIOS表的接口函数初始化完成,让所述BIOS可以调用接口函数对所述SMBIOS表进行操作;D.搜寻Type11结构表:获取SMBIOS表的地址,开始查找所述Type11类型结构表;E.是否存在Type11结构表:判断是否存在所述Type11结构表,如果没有找到所述Type11结构表,那么进行步骤K,如果搜寻到所述Type11结构表,获取所述Type11结构表数据,进行步骤G;G.读取Type11中第N个字符串:获取所述Type11结构表中字符串的数量N,读取所述BIOS给用户端预留的可添加的功能数量N;H.解析字符串数量N中第一个字符:解析字符串数量N,读取数量N中的第1个字符串数据,比对字符串中所述第1个字符,查看是否能对应预先定义的功能代码,如果不能对应,此字符串不再处理,开始读取下一个字符串;I.字符串是否检查完毕:当1个字符串处理完成,判断是否完成所有字符串处理,如果没有就继续处理下一个字符串,进行步骤G,如果处理完,就进行步骤K;K.继续执行操作:继续执行其他操作。...

【技术特征摘要】
1.一种利用SMBIOS扩展BIOS功能的方法,其特征在于:该方法包括以下步骤:A.BIOS开始运行:主板上电以后,BIOS开始运行,并进行基本硬件自检;B.定义Type11数据命令格式:定义SMBIOS表Type11字符串的数据格式,不同的数据对应不同的功能接口;C.初始化SMBIOS表:初始化所述SMBIOS表,将添加、移除、读写所述SMBIOS表的接口函数初始化完成,让所述BIOS可以调用接口函数对所述SMBIOS表进行操作;D.搜寻Type11结构表:获取SMBIOS表的地址,开始查找所述Type11类型结构表;E.是否存在Type11结构表:判断是否存在所述Type11结构表,如果没有找到所述Type11结构表,那么进行步骤K,如果搜寻到所述Type11结构表,获取所述Type11结构表数据,进行步骤G;G.读取Type11中第N个字符串:获取所述Type11结构表中字符串的数量N,读取所述BIOS给用户端预留的可添加的功能数量N;H.解析字符串数量N中第一个字符:解析字符串数量N,读取数量N中的第1个字符串数据,比对字符串中所述第1个字符,查看是否能对应预先定义的功能代码,如果不能对应,此字符串不再处理,开始读取下一个字符串;I.字符串是否检查完毕:当1个字符串处理完成,判断是否完成所有字符串处理,如果没有就继续处理下一个字符串,进行步骤G,如果处理完,就进行步骤K;K.继续执行操作:继续执行其他操作。2.根据权利要求1所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述步骤B中所述定义SMBIOS表Type11字符串的数据格式是对所述SMBIOS表中所述Type11的OEM字符串进行操作,写入命令数据,数据格式应该按照预先定义的格式,以便于BIOS识别。3.根据权利要求1所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述步骤H中所述查看是否能对应预先定义的功能代码是如果第1字符对应功能代码0x0...

【专利技术属性】
技术研发人员:马井彬
申请(专利权)人:深圳市同泰怡信息技术有限公司
类型:发明
国别省市:广东,44

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

1