CN106293620B - intel平台检测Flash Rom中参数的方法 - Google Patents

intel平台检测Flash Rom中参数的方法 Download PDF

Info

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
register
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.)
Active
Application number
CN201610645910.4A
Other languages
English (en)
Other versions
CN106293620A (zh
Inventor
郭章平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610645910.4A priority Critical patent/CN106293620B/zh
Publication of CN106293620A publication Critical patent/CN106293620A/zh
Priority to PCT/CN2017/093686 priority patent/WO2018028410A1/zh
Priority to US16/097,133 priority patent/US10698695B2/en
Application granted granted Critical
Publication of CN106293620B publication Critical patent/CN106293620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special 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)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开intel平台检测Flash Rom中参数的方法,涉及服务器技术领域,通过在PEI阶段OPMENU和OPTYPE寄存器被lock之前,先把SFDP table中的数据保存在HOB中,到DXE阶段再把数据存到EfiACPIMemoryNVS类型的内存中,通过调用驱动在应用层即可获取这些数据;本发明极大方便了获取FLASH ROM的各项参数,以便查看和程序中填写的参数是否一致;增加产品功能,减少BUG出现率,增加了产品稳定性。

Description

intel平台检测Flash Rom中参数的方法
技术领域
本发明涉及服务器技术领域,具体的说是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数据。
CN201610645910.4A 2016-08-09 2016-08-09 intel平台检测Flash Rom中参数的方法 Active CN106293620B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
WO2018028410A1 (zh) 2018-02-15
CN106293620A (zh) 2017-01-04
US20190095219A1 (en) 2019-03-28
US10698695B2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
CN108763099B (zh) 系统的启动方法、装置、电子设备和存储介质
CN109358882B (zh) 一种电视终端进行固件升级的方法及装置
CN110096314B (zh) 一种接口初始化方法、装置、设备及计算机可读存储介质
CN108172249B (zh) 一种NAND Flash访问操作方法、装置及系统
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN111124288B (zh) 一种vpd存储管理方法、装置、设备及可读存储介质
CN103593281A (zh) 测试系统及测试方法
CN105653330A (zh) 一种基于SD卡的NorFlash烧写系统和方法
US10592393B1 (en) Firmware debug trace capture
US8117368B2 (en) System management interrupt interface wrapper
CN106293620B (zh) intel平台检测Flash Rom中参数的方法
CN110297726B (zh) 具有串行存在检测数据的计算机系统及内存模块控制方法
CN103455750B (zh) 一种嵌入式设备的高安验证方法及装置
CN105630562A (zh) 一种电池管理系统初始化的方法和装置
CN101788916B (zh) 配置芯片的方法和装置
TW201337551A (zh) 取得觸發功能之指令的方法
CN113272785B (zh) 一种挂载文件系统的方法、终端设备及存储介质
CN106873913B (zh) 一种嵌入式系统自适应不同flash进行分区的方法
US20090077364A1 (en) Data-processing arrangement
CN110383232B (zh) 具有序列处理单元的存储器控制系统
US20180096152A1 (en) Systems and methods for software integrity assurance via validation using build-time integrity windows
CN111414162B (zh) 一种数据处理方法、装置及其设备
US11068276B2 (en) Controlled customization of silicon initialization
CN109710319B (zh) 一种计算机在位硬盘的识别方法及系统
CN107832090B (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
GR01 Patent grant
GR01 Patent grant