CN105607940A - 一种arm平台中bdk向uefi bios传递信息的方法 - Google Patents
一种arm平台中bdk向uefi bios传递信息的方法 Download PDFInfo
- Publication number
- CN105607940A CN105607940A CN201610001573.5A CN201610001573A CN105607940A CN 105607940 A CN105607940 A CN 105607940A CN 201610001573 A CN201610001573 A CN 201610001573A CN 105607940 A CN105607940 A CN 105607940A
- Authority
- CN
- China
- Prior art keywords
- bmc
- bdk
- uefibios
- information
- data
- 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种ARM平台中BDK向UEFI?BIOS传递信息的方法,所述方法通过在BDK中添加程序,把需要传递的数据通过I2C地址,由BDK发送到BMC,BMC中通过添加程序去记录这个信息,然后等UEFI?BIOS接管后,UEFI?BIOS再从BMC中通过IPMI协议,通过添加程序从BMC中读取并使用这个信息。本发明能巩固提高产品质量,完善产品功能,并基于这种技术开发更多更有用的功能,满足客户的多种需求,且不会增加硬件器件和线路,完全由BDK,?UEFI?BIOS,和BMC的软件代码配合完成,所有服务器均可实现。
Description
技术领域
本发明涉及ARM平台服务器,存储器设计技术领域,具体涉及一种ARM平台中BDK向UEFIBIOS传递信息的方法。
背景技术
BDK是CavuimARM平台的一套代码,起主要作用是初始化ARMCPU,初始化内存,配置平台IO接口,并最终引导UEFIBIOS,由UEFIBIOS接着完整整个平台的配置,并最终引导可启动设备进入操作系统。但是这其中有一个问题就是BDK代码和UEFIBIOS之间没有交互,BDK代码不能向UEFIBIOS传递有用的信息,对CPU厂商而言,可能他们觉得没有信息需要传递,所以他们没有设计这种专门传递信息的通道,比方说在CPU内部挂在一块ROM存储区域,BDK把数据放入,启动到UEFIBIOS后,由UEFIBIOS参考访问,对ODMOEM设计来讲,需求是千变万化的,数据传递的功能很有必要。由于X86平台并没有BDK和UEFIBIOS的区分,整个启动过程都是UEFIBIOS来完成,CPU,内存初始化的RC代码也是融合到UEFIBIOS当中,所以不会有这种麻烦。
随着ARM服务器在市场中的发展,由于其功耗低,性价比高的优势,其所占的比重市场越来越大,Cavium厂商对于ARMCPU代码的设计跟X86不同,他是BDK(Bootstub+ATF)代码和UEFIBIOS两个基本独立的组件方案来设计,各司其职,BDK把自己的任务完成后就把控制权转交给UEFIBIOS,又UEFIBIOS完成大部分的任务,但是根据以往X86的经验,系统启动前期的一些信息对于后面的代码是有很重要的参考意义的,当然有时后面的代码也可以自己通过相应的协议去获取所需要的信息,但是有些信息是在很早的阶段就被破坏掉了,所以之前的方法就是在前面的代码把信息破坏之前,我们通过CMOS或者其他存储空间记录下来,供后面的代码来参考,但是BDK和UEFIBIOS设计上是无交互的,这就给信息的传递带来麻烦。
发明内容
本发明要解决的技术问题是:为了解决上述问题,本发明提出了一种ARM平台中BDK向UEFIBIOS传递信息的方法,通过BDK代码向UEFIBIOS传递信息的通道,ARMCPU通过I2C与BMC(服务器基板管理控制器),可以让BDK代码把我们需要的数据发送给BMC,BMC获取后存入其RAM或者临时的内存buffer中,等到UEFIBIOS启动后,UEFIBIOS通过IPMI协议把需要的数据从BMC取回,这样就实现了BDK传递数据到UEFIBIOS的目的。
本发明所采用的技术方案为:
一种ARM平台中BDK向UEFIBIOS传递信息的方法,所述方法通过在BDK中添加程序,把需要传递的数据通过I2C地址,由BDK发送到BMC,BMC中通过添加程序去记录这个信息,然后等UEFIBIOS接管后,UEFIBIOS再从BMC中通过IPMI协议,通过添加程序从BMC中读取并使用这个信息。也就是以BMC为媒介,从BDK传递数据到UEFIBIOS。
所述方法具体的实现方式如下:
S10:ARMCPU上面的I2C总线连接到BMC,BDK能够利用I2C总线和BMC沟通,把需要的数据通过I2C发送到BMC;
S11:BMC接收到数据后,存入其ROM或者内存buffer中;
S12:BDK完成自己的工作,并加载UEFIBIOS;
S13:UEFIBIOS在需要的阶段通过IPMI协议,通过和BMC约定的命令,从BMC中获取所要的数据。
所述方法针对上一次系统关机后有没有掉电的状态信息的获取过程如下:
步骤S10中,把PM寄存器的状态在被清除之前通过I2C总线发送给BMC;
步骤S11中,PM寄存器的值被存入BMC的ROM或者内存buffer中;
步骤S12中,BDK完成初始化内存,配置IO,加载UEFIimage;
步骤S13中,UEFIBIOS可在DXE阶段,通过IPMI协议,以及和BMC约定好的命令,从BMC获取PM寄存的值,供自己参考使用。
UEFIBIOS要获取上一次系统关机后有没有掉电的状态信息,这个信息是记录在芯片的PM(powermanagement)寄存器中,而且有RTC供电,但是这个信息一般在开机的很早阶段就被清除了,如果后面需要的话就会获取不到。我们通过本发明的设计就可以获取这个信息。
本发明的有益效果为:
本发明能巩固提高产品质量,完善产品功能,并基于这种技术开发更多更有用的功能,满足客户的多种需求,且不会增加硬件器件和线路,完全由BDK,UEFIBIOS,和BMC的软件代码配合完成,所有服务器均可实现。
附图说明
图1为本发明方法流程图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
所述方法通过在BDK中添加程序,把需要传递的数据通过I2C地址,由BDK发送到BMC,BMC中通过添加程序去记录这个信息,然后等UEFIBIOS接管后,UEFIBIOS再从BMC中通过IPMI协议,通过添加程序从BMC中读取并使用这个信息。也就是以BMC为媒介,从BDK传递数据到UEFIBIOS。
实施例2:
在实施例1的基础上,本实施例所述方法具体的实现方式如下:
S10:ARMCPU上面的I2C总线连接到BMC,BDK能够利用I2C总线和BMC沟通,把需要的数据通过I2C发送到BMC;
S11:BMC接收到数据后,存入其ROM或者内存buffer中;
S12:BDK完成自己的工作,并加载UEFIBIOS;
S13:UEFIBIOS在需要的阶段通过IPMI协议,通过和BMC约定的命令,从BMC中获取所要的数据。
实施例3:
在实施例2的基础上,本实施例所述方法针对上一次系统关机后有没有掉电的状态信息的获取过程如下:
步骤S10中,把PM寄存器的状态在被清除之前通过I2C总线发送给BMC;
步骤S11中,PM寄存器的值被存入BMC的ROM或者内存buffer中;
步骤S12中,BDK完成初始化内存,配置IO,加载UEFIimage;
步骤S13中,UEFIBIOS可在DXE阶段,通过IPMI协议,以及和BMC约定好的命令,从BMC获取PM寄存的值,供自己参考使用。
UEFIBIOS要获取上一次系统关机后有没有掉电的状态信息,这个信息是记录在芯片的PM(powermanagement)寄存器中,而且有RTC供电,但是这个信息一般在开机的很早阶段就被清除了,如果后面需要的话就会获取不到。我们通过本发明的设计就可以获取这个信息。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (3)
1.一种ARM平台中BDK向UEFIBIOS传递信息的方法,其特征在于:所述方法通过在BDK中添加程序,把需要传递的数据通过I2C地址,由BDK发送到BMC,BMC中通过添加程序去记录这个信息,然后等UEFIBIOS接管后,UEFIBIOS再从BMC中通过IPMI协议,通过添加程序从BMC中读取并使用这个信息。
2.根据权利要求1所述的一种ARM平台中BDK向UEFIBIOS传递信息的方法,其特征在于,所述方法具体的实现方式如下:
S10:ARMCPU上面的I2C总线连接到BMC,BDK能够利用I2C总线和BMC沟通,把需要的数据通过I2C发送到BMC;
S11:BMC接收到数据后,存入其ROM或者内存buffer中;
S12:BDK完成自己的工作,并加载UEFIBIOS;
S13:UEFIBIOS在需要的阶段通过IPMI协议,通过和BMC约定的命令,从BMC中获取所要的数据。
3.根据权利要求2所述的一种ARM平台中BDK向UEFIBIOS传递信息的方法,其特征在于,所述方法针对上一次系统关机后有没有掉电的状态信息的获取过程如下:
步骤S10中,把PM寄存器的状态在被清除之前通过I2C总线发送给BMC;
步骤S11中,PM寄存器的值被存入BMC的ROM或者内存buffer中;
步骤S12中,BDK完成初始化内存,配置IO,加载UEFIimage;
步骤S13中,UEFIBIOS可在DXE阶段,通过IPMI协议,以及和BMC约定好的命令,从BMC获取PM寄存的值,供自己参考使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610001573.5A CN105607940A (zh) | 2016-01-05 | 2016-01-05 | 一种arm平台中bdk向uefi bios传递信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610001573.5A CN105607940A (zh) | 2016-01-05 | 2016-01-05 | 一种arm平台中bdk向uefi bios传递信息的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105607940A true CN105607940A (zh) | 2016-05-25 |
Family
ID=55987894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610001573.5A Pending CN105607940A (zh) | 2016-01-05 | 2016-01-05 | 一种arm平台中bdk向uefi bios传递信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105607940A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147864A (zh) * | 2017-06-09 | 2017-09-08 | 山东超越数控电子有限公司 | 一种lvds和vga接口自适应方法 |
CN108182138A (zh) * | 2018-01-24 | 2018-06-19 | 郑州云海信息技术有限公司 | Bmc sel日志的获取方法、系统、装置及存储介质 |
CN109032978A (zh) * | 2018-05-31 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种基于bmc的文件传输方法、装置、设备及介质 |
CN109408339A (zh) * | 2018-11-05 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种cpld/fpga寄存器控制方法和系统 |
CN114564240A (zh) * | 2022-02-25 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种服务器启动方法、系统、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130138934A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Loading configuration information |
CN104076880A (zh) * | 2014-07-07 | 2014-10-01 | 曙光信息产业(北京)有限公司 | 一种微服务器 |
-
2016
- 2016-01-05 CN CN201610001573.5A patent/CN105607940A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130138934A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Loading configuration information |
CN104076880A (zh) * | 2014-07-07 | 2014-10-01 | 曙光信息产业(北京)有限公司 | 一种微服务器 |
Non-Patent Citations (1)
Title |
---|
何毅平: "基于ARM的BMC设计与实现", 《万方数据知识服务平台》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147864A (zh) * | 2017-06-09 | 2017-09-08 | 山东超越数控电子有限公司 | 一种lvds和vga接口自适应方法 |
CN108182138A (zh) * | 2018-01-24 | 2018-06-19 | 郑州云海信息技术有限公司 | Bmc sel日志的获取方法、系统、装置及存储介质 |
CN109032978A (zh) * | 2018-05-31 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种基于bmc的文件传输方法、装置、设备及介质 |
CN109408339A (zh) * | 2018-11-05 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种cpld/fpga寄存器控制方法和系统 |
CN114564240A (zh) * | 2022-02-25 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种服务器启动方法、系统、计算机设备和存储介质 |
CN114564240B (zh) * | 2022-02-25 | 2024-02-27 | 苏州浪潮智能科技有限公司 | 一种服务器启动方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105607940A (zh) | 一种arm平台中bdk向uefi bios传递信息的方法 | |
CN104202194B (zh) | PCIe拓扑的配置方法和装置 | |
CN109804648A (zh) | IoT配置服务 | |
CN111124277B (zh) | 一种深度学习数据集缓存方法、系统、终端及存储介质 | |
CN105302721A (zh) | 云计算平台中实现集中模拟服务器集成测试的系统及方法 | |
CN103986786A (zh) | 一种远程云桌面操作系统 | |
CN106201563A (zh) | 启动参数的配置方法和装置、主板启动的方法和装置 | |
CN111901164B (zh) | Ocp nic网卡的适配控制方法、装置、设备及系统 | |
CN103559152A (zh) | 基于pcie协议的cpu访问本地总线的装置及方法 | |
CN106970810A (zh) | 固件烧录方法和系统 | |
CN101000550A (zh) | 一种嵌入式系统远程在线再配置方法 | |
CN110209399A (zh) | Fpga服务系统、数据处理方法及存储介质 | |
CN103200199A (zh) | 一种带外数据采集系统 | |
CN103780685A (zh) | 多样化智能设备间自适应数据共享的方法 | |
CN110968352B (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN109660391B (zh) | 一种池化服务器系统固件升级方法、系统及相关装置 | |
CN108737499A (zh) | 服务器配置方法和装置 | |
CN104699654A (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN111736867A (zh) | 一种fpga更新设备、方法以及存储介质 | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
CN103414584A (zh) | 一种基于p2p网络技术的计算机集群快速扩容方法 | |
CN104809026B (zh) | 一种使用远程节点借用cpu计算资源的方法 | |
WO2024113767A1 (zh) | 智能网卡的上电方法及上电装置 | |
CN103986588B (zh) | 电脑系统及电脑装置的远端遥控方法 | |
CN116401065A (zh) | 一种服务器、异构设备及其数据处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160525 |