CN105653376B - Arm平台中bios与bmc同时启动时保证信息同步的优化方法 - Google Patents
Arm平台中bios与bmc同时启动时保证信息同步的优化方法 Download PDFInfo
- Publication number
- CN105653376B CN105653376B CN201610001571.6A CN201610001571A CN105653376B CN 105653376 B CN105653376 B CN 105653376B CN 201610001571 A CN201610001571 A CN 201610001571A CN 105653376 B CN105653376 B CN 105653376B
- Authority
- CN
- China
- Prior art keywords
- bmc
- bios
- flag
- value
- read
- 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.)
- Active
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 title claims description 18
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims abstract description 7
- 230000001934 delay Effects 0.000 abstract 2
- 238000012935 Averaging Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002950 deficient Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了ARM平台中BIOS与BMC同时启动时保证信息同步的优化算法,所述算法在BMC启动完成的时候设置一个FLAG,在BIOS开始第一次访问BMC的时候通过IPMI去读取这个FLAG,如果FLAG被设置好,那么就开始读取BMC,如果没有被设置好,那么就去读取CPU Power Fail寄存器的值,如果CPU Power Fail寄存器的值为1,那么延迟较长时间,然后再返回读取BMC的FLAG,如果CPU Power Fail寄存器的值为0,那么延迟较短时间,然后再返回读取BMC的FLAG,直到读取到正确的FLAG的值。本发明能提高产品质量,完善产品功能,减少Bug的产生,且不会增加硬件器件和线路,完全由UEFI BIOS的软件代码完成,所有服务器均可实现。
Description
技术领域
本发明涉及ARM平台服务器,存储器设计技术领域,具体涉及一种ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法。
背景技术
在ARM服务器主板的设计当中,有一种设定就是当主机插入AC电源之后,系统会自动开机,直至引导入操作系统,这种情况下,主板BIOS在BMC做完基本的power sequence后,就和BMC同步启动,这其实能节省整个系统的启动时间,用户体验较好一些,还有一种做法就是BIOS和BMC不同步启动,等待BMC完全启动之后,才允许用户按Power Button开机,启动BIOS,这样的设计对保证BIOS对BMC信息的正确访问是很有帮助的,但是同时也延长了系统的启动时间,BMC启动大概30s—60之间,在这期间用户按power button是不起作用的,等BMC完全启动后,按power Button才会启动BIOS,这种情况下用户体验很不好。
但是对于BIOS和BMC同步启动这种情况,虽然能减少启动时间,但是也有一个缺点,BIOS启动过程中要通过IPMI访问BMC,同步启动就容易造成BIOS访问BMC失败的情况,因为有可能这个时候BMC的data还没有准备好,造成BMC返回错误的数据,为了避免这种情况的发生,我们一般在BIOS开始第一次访问BMC的时候,加上一个delay的时间,等待BMC差不多启动完成后,BIOS再接着往下走,以避免访问BMC失败,但是这种方法有缺陷,就是delay的时间是固定的,万一BMC在这个delay的时间之后,仍有一些数据没有准备好,仍然可能会出现问题。
发明内容
本发明要解决的技术问题是:为了解决上述问题,本发明提出了ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法。
本发明所采用的技术方案为:
ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法,所述方法在BMC启动完成的时候设置一个FLAG,在BIOS开始第一次访问BMC的时候通过IPMI去读取这个FLAG,如果FLAG被设置好,那么就开始读取BMC,如果没有被设置好,那么就去读取CPU Power Fail寄存器的值(其中记录了CPU在这次开机前有没有掉电的情况,如果CPU AC被拔掉过,此寄存器的值会被置位),如果CPU Power Fail寄存器的值为1,那么延迟较长时间(如delay30s),然后再返回读取BMC的FLAG,如果CPU Power Fail寄存器的值为0,那么延迟较短时间(如delay 1s),(CPU没有掉电,所以BMC仍在运行,不需要等待那么久),然后再返回读取BMC的FLAG,直到读取到正确的FLAG的值。
所述方法具体的实现过程如下:
S10:BMC启动完成,设置一个FLAG;
S11:BIOS开始第一次访问BMC,通过IPMI去读取这个FLAG,如果FLAG没被设置好;
S12:BIOS读取CPU Power Fail寄存器的值,如果CPU Power Fail寄存器的值为1,那么delay 30s,然后返回S10;
S13:如果CPU Power Fail寄存器的值为0,那么delay 1s,然后返回S10。
当FLAG被设置好时,FLAG=1。
本发明的有益效果为:
本发明能提高产品质量,完善产品功能,减少Bug的产生,且不会增加硬件器件和线路,完全由UEFI BIOS的软件代码完成,所有服务器均可实现。
附图说明
图1为本发明方法流程图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
如图1所示,ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法,所述方法在BMC启动完成的时候设置一个FLAG,在BIOS开始第一次访问BMC的时候通过IPMI去读取这个FLAG,如果FLAG被设置好,那么就开始读取BMC,如果没有被设置好,那么就去读取CPUPower Fail寄存器的值(其中记录了CPU在这次开机前有没有掉电的情况,如果CPU AC被拔掉过,此寄存器的值会被置位),如果CPU Power Fail寄存器的值为1,那么延迟较长时间(如delay 30s),然后再返回读取BMC的FLAG,如果CPU Power Fail寄存器的值为0,那么延迟较短时间(如delay 1s),(CPU没有掉电,所以BMC仍在运行,不需要等待那么久),然后再返回读取BMC的FLAG,直到读取到正确的FLAG的值。
实施例2:
在实施例1的基础上,本实施例所述方法具体的实现过程如下:
S10:BMC启动完成,设置一个FLAG;
S11:BIOS开始第一次访问BMC,通过IPMI去读取这个FLAG,如果FLAG没被设置好;
S12:BIOS读取CPU Power Fail寄存器的值,如果CPU Power Fail寄存器的值为1,那么delay 30s,然后返回S10;
S13:如果CPU Power Fail寄存器的值为0,那么delay 1s,然后返回S10。
实施例3:
在实施例2的基础上,本实施例当FLAG被设置好时,FLAG=1。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (2)
1.ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法,其特征在于:所述方法在BMC启动完成的时候设置一个FLAG,在BIOS开始第一次访问BMC的时候通过IPMI去读取这个FLAG,如果FLAG被设置好,那么就开始读取BMC,如果没有被设置好,那么就去读取CPUPower Fail寄存器的值,如果CPU Power Fail寄存器的值为1,那么延迟30秒,然后再返回读取BMC的FLAG,如果CPU Power Fail寄存器的值为0,那么延迟1秒,然后再返回读取BMC的FLAG,直到读取到正确的FLAG的值。
2.根据权利要求1所述的ARM平台中BIOS与BMC同时启动时保证信息同步的优化方法,其特征在于,当FLAG被设置好时,FLAG=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610001571.6A CN105653376B (zh) | 2016-01-05 | 2016-01-05 | Arm平台中bios与bmc同时启动时保证信息同步的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610001571.6A CN105653376B (zh) | 2016-01-05 | 2016-01-05 | Arm平台中bios与bmc同时启动时保证信息同步的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653376A CN105653376A (zh) | 2016-06-08 |
CN105653376B true CN105653376B (zh) | 2018-12-14 |
Family
ID=56491395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610001571.6A Active CN105653376B (zh) | 2016-01-05 | 2016-01-05 | Arm平台中bios与bmc同时启动时保证信息同步的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653376B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106200847A (zh) * | 2016-08-03 | 2016-12-07 | 浪潮电子信息产业股份有限公司 | 一种ARM平台实现Clear CMOS功能的方法 |
CN109885151A (zh) * | 2019-01-31 | 2019-06-14 | 郑州云海信息技术有限公司 | 一种服务器电源监控方法及系统 |
CN110399167B (zh) * | 2019-06-28 | 2021-01-15 | 联想(北京)有限公司 | 固件启动方法及装置、设备、存储介质 |
CN111143132B (zh) * | 2019-12-30 | 2022-06-10 | 山东英信计算机技术有限公司 | 一种bios恢复方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008906A (zh) * | 2006-01-25 | 2007-08-01 | 英业达股份有限公司 | 切换失效的检测方法 |
CN102298414A (zh) * | 2010-06-22 | 2011-12-28 | 鸿富锦精密工业(深圳)有限公司 | 服务器时间同步系统 |
CN103365696A (zh) * | 2013-08-01 | 2013-10-23 | 华为技术有限公司 | Bios镜像文件获取方法及装置 |
US8601252B2 (en) * | 2008-09-08 | 2013-12-03 | Dell Products, Lp | Method and system for automatically restarting an information handling system to restore system configuration after disorderly shutdown indicated by setting a latch |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194614B2 (en) * | 2004-03-09 | 2007-03-20 | Inventec Corporation | Boot swap method for multiple processor computer systems |
JP2009217711A (ja) * | 2008-03-12 | 2009-09-24 | Mitsubishi Electric Corp | 情報処理装置 |
-
2016
- 2016-01-05 CN CN201610001571.6A patent/CN105653376B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008906A (zh) * | 2006-01-25 | 2007-08-01 | 英业达股份有限公司 | 切换失效的检测方法 |
US8601252B2 (en) * | 2008-09-08 | 2013-12-03 | Dell Products, Lp | Method and system for automatically restarting an information handling system to restore system configuration after disorderly shutdown indicated by setting a latch |
CN102298414A (zh) * | 2010-06-22 | 2011-12-28 | 鸿富锦精密工业(深圳)有限公司 | 服务器时间同步系统 |
CN103365696A (zh) * | 2013-08-01 | 2013-10-23 | 华为技术有限公司 | Bios镜像文件获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105653376A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653376B (zh) | Arm平台中bios与bmc同时启动时保证信息同步的优化方法 | |
CN105630465B (zh) | 应用于终端的显示屏参数设置方法及终端 | |
CN110825495A (zh) | 一种容器云平台的恢复方法、装置、设备及可读存储介质 | |
US9858098B2 (en) | Hypervisor modification of system tables | |
CN110162435B (zh) | 一种服务器pxe启动测试方法、系统、终端及存储介质 | |
CN110572464A (zh) | 底层资源状态同步方法、装置、云平台系统及存储介质 | |
CN102298414A (zh) | 服务器时间同步系统 | |
KR101674975B1 (ko) | 시스템 업그레이드 방법, 장치, 기기, 프로그램 및 기록매체 | |
EP2189906A1 (en) | Method and apparatus for abnormality recovering of data card, and data card | |
CN111736906A (zh) | 一种基于bios的启动项同步存储方法、系统、终端及存储介质 | |
CN103150188A (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
WO2019144621A1 (zh) | 一种获取uefi os启动项的方法、装置及服务器 | |
CN113672263A (zh) | 固件参数更新控制方法、装置及电子设备 | |
WO2012079351A1 (zh) | 多线程数据同步方法及装置 | |
TWI352281B (en) | Method for judging a rebooting action of a compute | |
US20100005479A1 (en) | Synchronization of event handlers | |
CN115168130A (zh) | 一种芯片测试方法、装置、电子设备及存储介质 | |
CN109325199A (zh) | 一种利用编程语言减少网页重绘次数的方法以及电子设备 | |
US10007529B2 (en) | Data terminal running mode switching method, device, and data terminal | |
CN109669905B (zh) | 一种pcie设备的热移除方法、系统及相关装置 | |
CN112527446A (zh) | 时区同步方法、设备及终端设备 | |
US9563931B2 (en) | Control method and information processing device | |
CN108052353B (zh) | 一种提高bios控制模块同步速度的方法及设备 | |
CN107562582B (zh) | 一种自动重启并检测系统配置的方法 | |
CN105071952A (zh) | 一种设置双主板olt设备主备关系的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |