CN109086082A - 一种利用smbios扩展bios功能的方法、系统及介质 - Google Patents
一种利用smbios扩展bios功能的方法、系统及介质 Download PDFInfo
- Publication number
- CN109086082A CN109086082A CN201810698782.9A CN201810698782A CN109086082A CN 109086082 A CN109086082 A CN 109086082A CN 201810698782 A CN201810698782 A CN 201810698782A CN 109086082 A CN109086082 A CN 109086082A
- Authority
- CN
- China
- Prior art keywords
- function
- bios
- character
- smbios
- type11
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Abstract
本发明提供的一种利用SMBIOS扩展BIOS功能的方法、系统及介质,采用SMBIOS表中Type11 OEM字符串作为传输媒介,将用户需求传递到BIOS当中,BIOS将字符串数据进行解析,根据要求去完成特定功能的方案,解决现有技术中BIOS提供用户操作界面不够灵活的技术问题,实现扩展BIOS功能,扩展空间很大,让用户灵活调用BIOS功能接口,让BIOS与BMC通信配合工作,对功能进行灵活的控制。
Description
技术领域
本发明涉及BIOS系统领域,具体而言,涉及一种利用SMBIOS扩展BIOS功能的方法、系统及介质。
背景技术
BIOS是主板上的底层固件,负责对主板上硬件自检、初始化、资源分配等工作,让主板能正常工作,如果出现硬件初始化错误,可以输出错误信息。BIOS也根据要求实现一些特定功能,并能和BMC、操作系统进行信息传递。BIOS提供用户操作界面,用户可以根据需要在操作界面上查阅硬件信息,对部分功能进行控制操作,选择不同属性或者开启关闭。
当前BIOS提供给用户的操作界面进行设置,用户根据需要进行更改并保存,一旦出现电池断电或者某些错误情况,BIOS会恢复默认值,所有用户设置将不再存在,给客户带来麻烦。不能灵活应对客户对功能配置的要求,仅仅提供BIOS操作界面很难实现。例如,1.BIOS实现某些特定功能,需要特定用户才能使用,并且有时效限制;2.用户根据需要通过BIOS与BMC进行通信,实现某些特定功能;3. 在初始化硬件报错时,将关键错误信息提取并报告给用户。
发明内容
本发明提供一种利用SMBIOS扩展BIOS功能的方法,采用SMBIOS表中Type11 OEM字符串作为传输媒介,将用户需求传递到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表中OEM Type11字符串作为传输媒介,扩展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个功能,接下来解析字符串中剩余字符,这些剩余字符作为功能密钥处理,BIOS将密钥信息提取出来,对功能项进行控制处理;如果第1个字符对应的功能代码0x02,定义为BMC通信功能,接下来解析第2个字符,它定义的是读写命令,接下来就是解析字符串中剩余字符,作为通信数据发送给BMC,读命令时,向BMC发送命令,获取返回值,然后BIOS根据返回值再做进一步处理,写命令时,向BMC发送命令,让BMC执行特定功能;如果第1个字符对应的功能代码0x03,定义为诊断日志输出,接下来解析第2个字符,它定义的是诊断代码段号码,BIOS根据此号码打开相应代码段的诊断信息,并将关键信息提取出来,记录到字符串中。
所述字符里面包含功能开启关闭控制、功能有效时限等信息。
所述功能项可以根据需要扩充,增加BIOS不同默认配置的功能项,可以根据不能密钥信息,选择不同的BIOS默认值。
一种利用SMBIOS扩展BIOS功能的系统,其特征在于:所述利用SMBIOS扩展BIOS功能的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。
一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。
本发明方法中,所述BIOS开机过程如果全部诊断信息打印出来,开机速度会很慢,一般量产的产品诊断信息会全部关闭,一旦出现故障,是没有诊断信息查看的,通过本发明提供的代码分段机制,根据需要打开对应代码段的诊断信息,既能诊断问题,也会将开机速度影响降低到最小,当所述第1个字符串处理完成,判断是否完成所有字符串处理,如果没有就继续处理下一个字符串,如果处理完,就执行其他操作。
以上举例说明3个功能代码,开发人员可以根据用户需要不断添加新的功能代码,Type11最多可以添加256个字符串,对应可以开发256个功能代码,能满足用户需要。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于发明的保护范围。
Claims (9)
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字符对应功能代码0x01,定义为功能控制,接着解析第2个字符,它对应的是具体的功能项,例如字符是0x06,那对应就是第0x06个功能,接下来解析字符串中剩余字符,这些剩余字符作为功能密钥处理,BIOS将密钥信息提取出来,对功能项进行控制处理。
4.根据权利要求3所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述步骤H中所述查看是否能对应预先定义的功能代码是如果第1个字符对应的功能代码0x02,定义为BMC通信功能,接下来解析第2个字符,它定义的是读写命令,接下来就是解析字符串中剩余字符,作为通信数据发送给BMC,读命令时,向BMC发送命令,获取返回值,然后BIOS根据返回值再做进一步处理,写命令时,向BMC发送命令,让BMC执行特定功能。
5.根据权利要求4所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述步骤H中所述查看是否能对应预先定义的功能代码是如果第1个字符对应的功能代码0x03,定义为诊断日志输出,接下来解析第2个字符,它定义的是诊断代码段号码,BIOS根据此号码打开相应代码段的诊断信息,并将关键信息提取出来,记录到字符串中。
6.根据权利要求3所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述字符里面包含功能开启关闭控制、功能有效时限等信息。
7.根据权利要求6所述的利用SMBIOS扩展BIOS功能的方法,其特征在于:所述功能项可以根据需要扩充,增加BIOS不同默认配置的功能项,可以根据不能密钥信息,选择不同的BIOS默认值。
8.一种利用SMBIOS扩展BIOS功能的系统,其特征在于:所述利用SMBIOS扩展BIOS功能的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-7中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698782.9A CN109086082B (zh) | 2018-06-29 | 2018-06-29 | 一种利用smbios扩展bios功能的方法、系统及介质 |
PCT/CN2019/083228 WO2020001136A1 (zh) | 2018-06-29 | 2019-04-18 | 一种利用smbios扩展bios功能的方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698782.9A CN109086082B (zh) | 2018-06-29 | 2018-06-29 | 一种利用smbios扩展bios功能的方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086082A true CN109086082A (zh) | 2018-12-25 |
CN109086082B CN109086082B (zh) | 2020-12-04 |
Family
ID=64834934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810698782.9A Active CN109086082B (zh) | 2018-06-29 | 2018-06-29 | 一种利用smbios扩展bios功能的方法、系统及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109086082B (zh) |
WO (1) | WO2020001136A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020001136A1 (zh) * | 2018-06-29 | 2020-01-02 | 深圳市同泰怡信息技术有限公司 | 一种利用smbios扩展bios功能的方法、系统及介质 |
CN111857847A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种动态配置bios字符串的方法、装置、设备及存储介质 |
TWI807521B (zh) * | 2021-12-07 | 2023-07-01 | 神雲科技股份有限公司 | 警示方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031541A1 (en) * | 2011-07-29 | 2013-01-31 | Wilks Andrew W | Systems and methods for facilitating activation of operating systems |
CN103778036A (zh) * | 2012-10-22 | 2014-05-07 | 中国人民解放军91655部队 | 一种通过扩展bios安全快速获取特征码的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156653B (zh) * | 2004-12-31 | 2017-05-10 | 英特尔公司 | 系统固件的可管理扩展方法、装置和系统 |
CN109086082B (zh) * | 2018-06-29 | 2020-12-04 | 深圳市同泰怡信息技术有限公司 | 一种利用smbios扩展bios功能的方法、系统及介质 |
-
2018
- 2018-06-29 CN CN201810698782.9A patent/CN109086082B/zh active Active
-
2019
- 2019-04-18 WO PCT/CN2019/083228 patent/WO2020001136A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031541A1 (en) * | 2011-07-29 | 2013-01-31 | Wilks Andrew W | Systems and methods for facilitating activation of operating systems |
CN103778036A (zh) * | 2012-10-22 | 2014-05-07 | 中国人民解放军91655部队 | 一种通过扩展bios安全快速获取特征码的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020001136A1 (zh) * | 2018-06-29 | 2020-01-02 | 深圳市同泰怡信息技术有限公司 | 一种利用smbios扩展bios功能的方法、系统及介质 |
CN111857847A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种动态配置bios字符串的方法、装置、设备及存储介质 |
TWI807521B (zh) * | 2021-12-07 | 2023-07-01 | 神雲科技股份有限公司 | 警示方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020001136A1 (zh) | 2020-01-02 |
CN109086082B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086199B (zh) | 一种自动化生成测试脚本的方法、终端和可存储介质 | |
CN109086082A (zh) | 一种利用smbios扩展bios功能的方法、系统及介质 | |
KR100661173B1 (ko) | 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN111813680B (zh) | 测试脚本的生成方法、装置、计算机设备和存储介质 | |
CN103109264A (zh) | 创建配置文件模板 | |
CN105183178A (zh) | 一种虚拟汽车vin码输入键盘及其操作方法 | |
US8117368B2 (en) | System management interrupt interface wrapper | |
CN106372527A (zh) | 一种数据处理方法及终端 | |
CN104123104B (zh) | 日志控制系统及方法 | |
CN106354746A (zh) | 搜索方法和搜索设备 | |
CN107908377A (zh) | 打印语言中字体编码信息的解析方法及其装置和应用 | |
CN107329756A (zh) | 程序文件的生成方法、装置、存储介质、处理器和终端 | |
CN103777847A (zh) | 一种体征采集交互方法以及体征采集终端 | |
CN116383234A (zh) | 一种搜索语句生成方法、装置、计算机设备及存储介质 | |
EP3425510B1 (en) | Automated testing method for application program user interface, electronic device, system, and storage medium | |
CN100382002C (zh) | 用于补救错误的打印方法和装置 | |
CN109697216B (zh) | 清算交易信息处理方法、装置及系统 | |
CN114974554A (zh) | 融合图谱知识强化病历特征的方法、装置及存储介质 | |
CN111273913B (zh) | 一种输出规范表示的应用程序接口数据的方法及装置 | |
CN106775810A (zh) | 分布式文件系统中配置文件的写入方法及装置 | |
CN109753488B (zh) | 一种基于http的服务器操作日志管理方法及系统 | |
CN114089980A (zh) | 编程处理方法、装置、解释器及非易失性存储介质 | |
CN114357996A (zh) | 时序文本特征提取方法、装置、电子设备及存储介质 | |
US8775528B2 (en) | Computer readable recording medium storing linking keyword automatically extracting program, linking keyword automatically extracting method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |