CN106293620B - intel平台检测Flash Rom中参数的方法 - Google Patents
intel平台检测Flash Rom中参数的方法 Download PDFInfo
- Publication number
- CN106293620B CN106293620B CN201610645910.4A CN201610645910A CN106293620B CN 106293620 B CN106293620 B CN 106293620B CN 201610645910 A CN201610645910 A CN 201610645910A CN 106293620 B CN106293620 B CN 106293620B
- Authority
- CN
- China
- Prior art keywords
- opmenu
- optype
- flash rom
- sfdp
- register
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 abstract description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects 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/22—Microcontrol or microprogram arrangements
-
- 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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开intel平台检测Flash Rom中参数的方法,涉及服务器技术领域,通过在PEI阶段OPMENU和OPTYPE寄存器被lock之前,先把SFDP table中的数据保存在HOB中,到DXE阶段再把数据存到EfiACPIMemoryNVS类型的内存中,通过调用驱动在应用层即可获取这些数据;本发明极大方便了获取FLASH ROM的各项参数,以便查看和程序中填写的参数是否一致;增加产品功能,减少BUG出现率,增加了产品稳定性。
Description
技术领域
本发明涉及服务器技术领域,具体的说是intel平台检测Flash Rom中参数的方法。
背景技术
在PC和服务器的设计中,通常BIOS程序存放在FLASH ROM中,而且Flash Rom的参数需要加入到source code(源代码)中,其中涉及到很多项的具体参数。目前通常是对照ROM厂商给的SPEC,从中检索出需要的参数加入到项目中,这些参数如果有差错,有可能导致***post过程宕机,或者产生几率性的宕机,而且通常很难发现是由于FLASH ROM参数配置错误造成的问题。为了方便查看FLASH ROM的参数,有必要设计一些方法来读取这些参数。Flash Rom详细的参数存在于其中的SFDP Table中,需要的各种详细参数都可以在其中找到。
仅仅读取FLASH Rom的ID或者size是不需要访问SFDP table的,要想得到FLASHROM详细的参数和支持的功能,就必须要通过读取SFDP Table来获得。但是intel平台对于Flash Rom访问有一些限制,就是各种访问的命令需要先放在OPMENU和OPTYPE寄存器中,对应的命令才可以使用。比方说读取SFDP table的命令是0x5A,如果OPMEUN中没有这个命令,那么就无法读取SFDP,事实是OPMENU默认确实没有0x5A,而且这两个寄存器在PEI阶段就被LOCK了,所以在进***之后无法读到SFDP table。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种ARM平台intel平台检测Flash Rom中参数的方法。
本发明所述intel平台检测Flash Rom中参数的方法,解决上述技术问题采用的技术方案如下:所述intel平台检测Flash Rom中参数的方法,其主要步骤包括:1)***开机时在PEI阶段,OPMENU和OPTYPE寄存器被LOCK之前,保存OPMENU和OPTYPE寄存器的值,2)OPMENU和OPTYPE寄存器填入SFDP table读命令0x5A,3)把SFDP table数据存入自建HOB中,4)在DXE阶段把HOB中数据存入申请的一块EfiACPIMemoryNVS内存中,5)在***中通过调用驱动,从EfiACPIMemoryNVS内存中读取数据。
优选的,把SFDP table数据存入自建HOB中,之后恢复OPMENU和OPTYPE寄存器的值,并LOCK OPMENU和OPTYPE寄存器。
优选的,通过在OS端撰写软件程序和驱动,调用驱动在应用层获取SFDP table数据。
本发明所述intel平台检测Flash Rom中参数的方法与现有技术相比具有的有益效果是:本发明通过在PEI阶段OPMENU和OPTYPE寄存器被lock之前,先把SFDP table中的数据保存在HOB(hand off block)中,到DXE阶段再把数据存到EfiACPIMemoryNVS类型的内存中,通过调用驱动在应用层即可获取这些数据;极大方便了获取FLASH ROM的各项参数,以便查看和程序中填写的参数是否一致;增加产品功能,减少BUG出现率,增加产品稳定性;不增加硬件线路,完全由BIOS和OS上层软件代码配合完成,所有服务器或存储均可实现。
说明书附图
附图1为所述intel平台检测Flash Rom中参数的方法的实施流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述intel平台检测Flash Rom中参数的方法进一步详细说明。
为了方便获取FLASH ROM的各项参数,本发明提供了一种intel平台检测FlashRom中参数的方法,通过添加一些bios code(bios代码)去实现,在OPMENU和OPTYPE寄存器被lock之前,先把SFDP table中的数据保存在HOB(hand off block)中,到DXE阶段再把数据存到EfiACPIMemoryNVS类型的内存中,这样在***中能够通过调用驱动,在应用层获取这些数据。
实施例:
***开机时,UEFI BIOS开机阶段大概分为SEC,PEI,DXE,BDS,本实施例所述intel平台检测Flash Rom中参数的方法,主要包括如下步骤:1)***开机时在PEI阶段,OPMENU和OPTYPE寄存器被LOCK之前,保存OPMENU和OPTYPE寄存器的值,2) OPMENU和OPTYPE寄存器填入SFDP table读命令0x5A,3)把SFDP table数据存入自建HOB中,4)在DXE阶段把HOB中数据存入申请的一块EfiACPIMemoryNVS内存中,5)在***中通过调用驱动,从EfiACPIMemoryNVS内存中读取数据,以便查看和程序中填写的参数是否一致。
附图1为所述intel平台检测Flash Rom中参数的方法的流程图,如附图1所示,其具体实现过程如下:
步骤一,开机在PEI阶段,OPMENU和OPTYPE寄存器被LOCK之前,保存OPMENU和OPTYPE寄存器的值;
步骤二,OPMENU和OPTYPE寄存器填入SFDP table读命令0x5A;
步骤三,把SFDP table数据存入自建HOB中;
步骤四,恢复OPMENU和OPTYPE寄存器的值,并LOCK OPMENU和OPTYPE寄存器;
步骤五,DXE阶段把HOB中数据存入申请的一块EfiACPIMemoryNVS内存中;
步骤六,撰写软件程序和驱动在OS端,从EfiACPIMemoryNVS内存中读取SFDPtable数据。
在***开机后的PEI阶段,PCH(即南桥)的OPMENU和OPTYPE寄存器中被填入默认的值,寄存器被LOCK之前保存这两个寄存器中的值;然后在OPMENU和OPTYPE寄存器填入SFDPtable读命令0x5A,读取到SFDP table数据后,把数据存放在一个自建的HOB中;之后恢复OPMENU和OPTYPE寄存器之前的值,在随后的BIOS程序中,OPMENU和OPTYPE寄存器会被LOCK,目的是为了防止BIOS后续程序以及OS的程序改动这两个寄存器。最后,在DXE阶段把HOB中数据(SFDP table数据)存到EfiACPIMemoryNVS类型的内存中,这样在***中就能够通过调用驱动,在应用层获取这些数据,以便查看和程序中填写的参数是否一致。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (3)
1.intel平台检测Flash Rom中参数的方法,其特征在于,其步骤包括:1)***开机时在PEI阶段,OPMENU和OPTYPE寄存器被LOCK之前,保存OPMENU和OPTYPE寄存器的值,2)OPMENU和OPTYPE寄存器均填入SFDP table读命令0x5A,3)把SFDP table数据存入自建HOB中,4)在DXE阶段把HOB中数据存入申请的一块EfiACPIMemoryNVS内存中,5)在***中通过调用驱动,从EfiACPIMemoryNVS内存中读取数据。
2.根据权利要求1所述intel平台检测Flash Rom中参数的方法,其特征在于,把SFDPtable数据存入自建HOB中,之后恢复OPMENU和OPTYPE寄存器的值,并LOCK OPMENU和OPTYPE寄存器。
3.根据权利要求2所述intel平台检测Flash Rom中参数的方法,其特征在于,通过在OS端撰写软件程序和驱动,调用驱动在应用层获取SFDP table数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610645910.4A CN106293620B (zh) | 2016-08-09 | 2016-08-09 | intel平台检测Flash Rom中参数的方法 |
PCT/CN2017/093686 WO2018028410A1 (zh) | 2016-08-09 | 2017-07-20 | intel平台检测Flash Rom中参数的方法 |
US16/097,133 US10698695B2 (en) | 2016-08-09 | 2017-07-20 | Method for intel platform detection of parameters in Flash Rom |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610645910.4A CN106293620B (zh) | 2016-08-09 | 2016-08-09 | intel平台检测Flash Rom中参数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106293620A CN106293620A (zh) | 2017-01-04 |
CN106293620B true CN106293620B (zh) | 2019-05-14 |
Family
ID=57667005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610645910.4A Active CN106293620B (zh) | 2016-08-09 | 2016-08-09 | intel平台检测Flash Rom中参数的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10698695B2 (zh) |
CN (1) | CN106293620B (zh) |
WO (1) | WO2018028410A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293620B (zh) | 2016-08-09 | 2019-05-14 | 浪潮电子信息产业股份有限公司 | intel平台检测Flash Rom中参数的方法 |
US11003461B2 (en) * | 2019-03-29 | 2021-05-11 | Dell Products L.P. | Boot process security self-check system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机***和方法 |
CN101421700A (zh) * | 2006-04-19 | 2009-04-29 | 英特尔公司 | 支持处理***的分区中的独立操作***的方法和设备 |
CN103150208A (zh) * | 2013-03-22 | 2013-06-12 | 合肥联宝信息技术有限公司 | 一种支持多任务的bios运行方法及bios芯片 |
CN103219334A (zh) * | 2013-04-27 | 2013-07-24 | 北京兆易创新科技股份有限公司 | 一种闪存封装芯片 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082509B2 (en) * | 2003-02-06 | 2006-07-25 | Intel Corporation | Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time |
US7502803B2 (en) * | 2003-05-28 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | System and method for generating ACPI machine language tables |
US7448030B2 (en) * | 2004-03-18 | 2008-11-04 | Intel Corporation | Optimized ordering of firmware modules in pre-boot environment |
KR100597787B1 (ko) * | 2005-03-21 | 2006-07-06 | 삼성전자주식회사 | 멀티 칩 패키지 디바이스 |
US7493460B2 (en) * | 2005-09-07 | 2009-02-17 | Intel Corporation | Preboot memory of a computer system |
CN100343808C (zh) | 2005-12-15 | 2007-10-17 | 北京中星微电子有限公司 | 一种嵌入式***执行启动装载的方法 |
JP2008090876A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7822960B2 (en) * | 2006-12-22 | 2010-10-26 | Intel Corporation | Platform management processor assisted resume |
US7840792B2 (en) * | 2007-04-25 | 2010-11-23 | American Megatrends, Inc. | Utilizing hand-off blocks in system management mode to allow independent initialization of SMBASE between PEI and DXE phases |
US8086838B2 (en) * | 2008-08-13 | 2011-12-27 | Dell Products L.P. | Methods and systems for providing manufacturing mode detection and functionality in a UEFI BIOS |
CN103377063B (zh) * | 2012-04-28 | 2016-06-22 | 国际商业机器公司 | 从遗留操作***环境恢复到uefi预启动环境的方法和*** |
CN103593281B (zh) | 2012-08-15 | 2016-06-15 | 纬创资通股份有限公司 | 测试***及测试方法 |
US9778936B1 (en) * | 2014-03-14 | 2017-10-03 | American Megatrends, Inc. | Booting a computing system into a manufacturing mode |
CN105512571A (zh) | 2014-09-23 | 2016-04-20 | 鸿富锦精密工业(武汉)有限公司 | 内建掩模型rom的闪存器防写保护装置及方法 |
TWI599876B (zh) * | 2014-10-09 | 2017-09-21 | 緯創資通股份有限公司 | 開機自我測試中的除錯方法以及使用該方法的裝置 |
CN105589716A (zh) | 2015-12-11 | 2016-05-18 | 浪潮电子信息产业股份有限公司 | 一种基于Intel平台使用FPT刷新BIOS的方法 |
JP6083480B1 (ja) * | 2016-02-18 | 2017-02-22 | 日本電気株式会社 | 監視装置、フォールトトレラントシステムおよび方法 |
CN106293620B (zh) | 2016-08-09 | 2019-05-14 | 浪潮电子信息产业股份有限公司 | intel平台检测Flash Rom中参数的方法 |
US10817305B2 (en) * | 2017-05-25 | 2020-10-27 | Dell Products, L.P. | System and method to configure communication lanes of a central processing unit |
-
2016
- 2016-08-09 CN CN201610645910.4A patent/CN106293620B/zh active Active
-
2017
- 2017-07-20 US US16/097,133 patent/US10698695B2/en active Active
- 2017-07-20 WO PCT/CN2017/093686 patent/WO2018028410A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机***和方法 |
CN101421700A (zh) * | 2006-04-19 | 2009-04-29 | 英特尔公司 | 支持处理***的分区中的独立操作***的方法和设备 |
CN103150208A (zh) * | 2013-03-22 | 2013-06-12 | 合肥联宝信息技术有限公司 | 一种支持多任务的bios运行方法及bios芯片 |
CN103219334A (zh) * | 2013-04-27 | 2013-07-24 | 北京兆易创新科技股份有限公司 | 一种闪存封装芯片 |
Also Published As
Publication number | Publication date |
---|---|
US10698695B2 (en) | 2020-06-30 |
CN106293620A (zh) | 2017-01-04 |
US20190095219A1 (en) | 2019-03-28 |
WO2018028410A1 (zh) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN109358882B (zh) | 一种电视终端进行固件升级的方法及装置 | |
CN110096314B (zh) | 一种接口初始化方法、装置、设备及计算机可读存储介质 | |
CN108984219B (zh) | 内存参数配置方法及电子设备 | |
CN108172249B (zh) | 一种NAND Flash访问操作方法、装置及*** | |
US10866881B1 (en) | Firmware debug trace capture | |
CN103593281A (zh) | 测试***及测试方法 | |
CN109408122A (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN111124288A (zh) | 一种vpd存储管理方法、装置、设备及可读存储介质 | |
CN105653330A (zh) | 一种基于SD卡的NorFlash烧写***和方法 | |
CN106293620B (zh) | intel平台检测Flash Rom中参数的方法 | |
US20110055533A1 (en) | System management interrupt interface wrapper | |
CN110297726B (zh) | 具有串行存在检测数据的计算机***及内存模块控制方法 | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
CN105630562A (zh) | 一种电池管理***初始化的方法和装置 | |
CN101788916B (zh) | 配置芯片的方法和装置 | |
US10210334B2 (en) | Systems and methods for software integrity assurance via validation using build-time integrity windows | |
CN106873913B (zh) | 一种嵌入式***自适应不同flash进行分区的方法 | |
CN104572317A (zh) | 主板及利用主板的基板管理控制器获取时间信息的方法 | |
US10936329B2 (en) | Systems and methods for dynamically electrically margining devices in an information handling system | |
CN101533373B (zh) | 数据存取*** | |
CN111414162B (zh) | 一种数据处理方法、装置及其设备 | |
US11984183B2 (en) | Systems and methods for fault-resilient system management random access memory | |
CN103412778A (zh) | 一种片上***NANDFlash程序引导方法与装置 |
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 |