CN100353320C - 引导过程 - Google Patents

引导过程 Download PDF

Info

Publication number
CN100353320C
CN100353320C CNB028257731A CN02825773A CN100353320C CN 100353320 C CN100353320 C CN 100353320C CN B028257731 A CNB028257731 A CN B028257731A CN 02825773 A CN02825773 A CN 02825773A CN 100353320 C CN100353320 C CN 100353320C
Authority
CN
China
Prior art keywords
firmware
top file
volume
volume top
firmware module
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.)
Expired - Fee Related
Application number
CNB028257731A
Other languages
English (en)
Other versions
CN1606731A (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1606731A publication Critical patent/CN1606731A/zh
Application granted granted Critical
Publication of CN100353320C publication Critical patent/CN100353320C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

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)
  • Sealing Devices (AREA)
  • Diaphragms And Bellows (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种引导例程。通过引导位于第一可寻址位置处的卷顶文件(VTF),并且由该卷顶文件引导一组固件模块,可在计算机中初始化所述引导例程,其中,初始化所述引导例程时可访问所述第一可寻址位置。

Description

引导过程
技术领域
本发明涉及引导(boot/bootstrap)过程。
背景技术
典型的计算机系统都有一个基本输入输出(BIOS)程序,用于启动计算机,以及管理操作系统(OS)与各种类型的附属设备(例如,硬盘、键盘、鼠标、打印机)之间的数据流。BIOS对于计算机的处理单元而言是可访问的,例如,BIOS可位于可擦除可编程的只读存储芯片上。当BIOS启动(起动)计算机时,它确定各个附属设备是否就位并处于工作状态,然后,它将操作系统(或其主要部分)从硬盘载入计算机的随机访问存储器(RAM)。当附属设备的情况发生变化时,BIOS程序也需要改变,或者在计算机系统设置(setup)期间改变,或者手动改变。
发明内容
本发明公开了一种引导例程。通过引导位于第一可寻址位置处的卷顶文件(VTF),并且由该卷顶文件引导一组固件模块,可在计算机中初始化所述引导例程,其中,初始化所述引导例程时可访问所述第一可寻址位置。
根据本发明的第一方面,提供了一种方法,包括:初始化计算机中的引导例程,所述计算机具有模块化的、在体系结构上被定义的、用于建立固件的组件;引导一个卷顶文件,该卷顶文件位于在初始化所述引导例程时可访问的第一可寻址位置处;使用重置向量来访问所述卷顶文件;并且所述卷顶文件引导一组固件模块,其中所述卷顶文件遵从可扩展固件接口规范,其中所述的一组固件模块存在于固件卷中,并且其中所述卷顶文件被用来在所述固件卷中定位和访问必要的代码和指针。
根据本发明的第二方面,提供了一种系统,包括:计算机的非易失存储器,其初始化所述计算机中的引导例程,所述计算机具有模块化的、在体系结构上被定义的、用于建立固件的组件;所述计算机的处理体系结构,其被配置来引导一个卷顶文件,该卷顶文件位于在初始化所述引导例程时可访问的第一可寻址位置处;用于访问所述卷顶文件的重置向量;和所述卷顶文件,其被配置来引导一组固件模块,其中所述卷顶文件遵从可扩展固件接口规范,其中所述的一组固件模块存在于固件卷中,并且其中所述卷顶文件被用来在所述固件卷中定位和访问必要的代码和指针。
根据本发明的第三方面,提供了一种装置,包括:处理器,该处理器具有模块化的、在体系结构上被定义的、用于建立固件的组件;非易失存储器,其中存储有:包括第一固件模块和与所述第一固件模块相关联的数据结构的固件卷;位于所述非易失存储器的第一可寻址位置处的卷顶文件,所述第一可寻址位置由计算机的中央处理单元进行访问,使用重置向量可访问所述卷顶文件,所述卷顶文件引导一组固件模块,并且其中所述卷顶文件遵从可扩展固件接口规范;和所述卷顶文件可访问的第二固件模块。
附图说明
图1是计算机系统的框图。
图2是图1中计算机系统的引导系统的框图。
图3是图2中引导系统的引导过程的流程图。
具体实施方式
总的来说,在一个方面,本发明的特征在于一个引导例程,要想在计算机中初始化该引导例程,就要引导一个卷顶文件(VTF,volume topfile),并且该卷顶文件引导一组固件模块,其中所述VTF位于初始化所述引导例程时可访问的第一可寻址位置上。
参考图1,计算机10的一个例子包括一个或多个处理器23(1)-23(n)(统称为处理器23),这些处理器通过处理器总线16耦合到系统逻辑14。系统存储器18通过存储器总线20耦合到系统逻辑14。系统存储器18用于存储操作系统(OS)堆栈22和应用程序24。外围总线30将非易失存储器26和一个或多个外围设备28(1)-28(m)(统称为外围设备28)连接到系统逻辑14。外围设备28例如包括I/O设备32,其为用户36提供图形用户接口(GUI)34。
计算平台38代表底层的计算机系统,在其上可以运行应用程序24。计算平台38由外围设备28和系统逻辑14形成。在引导过程中,计算机10将OS堆栈22载入系统存储器18或非易失存储器26。一旦OS堆栈22被载入,则计算机10已准备好让用户来运行应用程序24。
参考图2,非易失存储器26具有固件系统40。固件系统40包括重置向量51、VTF文件42和固件卷88。
重置向量51是非易失存储器26中的可寻址位置,其包括在处理器被重置后将由处理器执行的第一条指令。处理器体系结构固定了重置向量51的可寻址位置。
VTF文件42使得处理器23可以正确地引导固件卷88,而固件卷88接下来又会引导计算机10的操作系统(OS)。VTF文件42可保证以下这种机制,即在固件卷88中定位并访问正确的代码和指针。
VTF文件42的可寻址位置的地址已被处理器体系结构固定,与它们不同的是,VTF文件42中的代码和指针不具有体系结构指定的位置。
固件卷88包括固件模块44(a)-44(b)和调度器(dispatcher)模块46。固件模块44(a)-44(b)包括例程单元64和数据结构66,并起到核心代码和专用插件(plug-in)系统的作用,这一插件系统实现了固件系统40对于计算平台38的个人化。调度器模块46用于标识固件模块44(a)-44(b)的存储位置或地址,并按照“可预测的有用顺序”,即非随机的顺序来执行固件模块44(a)-44(b)。
固件系统40还包括非易失存储器的可用(即,未使用的)单元26a。在所述非易失存储器中,固件模块44(a)-44(b)与调度器模块46的可寻址位置的顺序并不是预先固定的。每个模块或调度器都可以位于存储器26中的任意位置,而这些位置根据计算机的不同而不同。VTF文件42包括若干“桥”,这些桥位于由处理器23在体系结构上指定的代码和未由处理器23在体系结构上指定的平台代码之间。
VTF文件42提供了一种机制,即定位处理器体系结构所需的固定位置上的代码和数据,并引导驻留于固件卷88内的其它固件模块44(a)-44(b)。
向数据结构66提供一个标签,该标签由标识符单元68分配用来在系统存储器1 8中标识数据结构66(例如,带标记的),使得该数据结构可被另一个固件模块例如固件模块44(b)识别并验证。数据结构66包括多个存储位置,这些存储位置存储用来指向固件系统40的各个组件的值。例如,存储在数据结构66的多个存储位置中的值允许来自固件模块44(a)的例程访问固件模块44(b)中的例程。VTF文件42包括访问固件系统40的基的已知信息,该信息随后可被固件模块44(a)-44(b)用来发布一组通用的访问服务,以发现附加的卷。所述多个存储位置也可以存储指向调度器模块46以及其它类型的地址的指针。用于确定所述多个存储位置的值根据平台和厂商类型的不同而不同。例如,一个服务器厂商可能具有更大的卷,具有抽象化服务器芯片集的组件和多种特征,例如更多的容错特征或SCSI支持,然而台式机或工作站可能具有更加面向消费者的特点,例如更丰富的图形支持。
标识符单元68与数据结构66相关联,其所包括的信息允许固件模块44(a)的例程单元定位并验证数据结构66。标识符单元68包括标识串72,大小参数74(DS SIZE)和校验和值76(CHK SUM),其中的标识串72例如是16字节的保证唯一标识符(GUID),这是用来“命名”一个给定的服务接口或包含文件的统计唯一值。ID STRING 72是一个字符串,例程单元64中的例程84可对之进行扫描和取得该字符串。DS SIZE 74指示了数据结构66的大小,而CHK SUM 76是为了确保数据结构66未曾损坏而从数据结构66中导出的值。
固件模块44(a)的例程单元64对与有关设备相关的资源提供固件级的支持。例如,例程单元64包括的代码序列用于初始化及配置键盘、输入设备、视频显示器或类似的设备,这些设备是由不同的独立硬件厂商(IHV)、独立BIOS厂商(IBV)和原始设备制造商(OEM)开发出来用于计算平台38上的。
固件模块44(a)还包括调用表70,其存储到例程单元64中的例程的索引和指针。例如,指针82被分配给一个索引80,通过这个索引,可经由逻辑链路86对相关联的例程84进行访问。
固件系统40的VTF文件42包括一个操作码50,它由重置向量51“使用(consume)”。即,在一个“取得/执行周期”中,一旦发生重启事件(例如,一个触发引导过程的事件,处理器通过所述引导过程重新开始操作),就响应于处理器12的第一个取操作码操作而执行固件系统40。重置向量51是由特定的CPU微体系结构确定的。因此,VTF文件42必须被构建为遵从正在使用的特定CPU微体系结构的硬件要求。在具有可变文件位置的体系结构内,VTF文件42位于固件系统40的顶部。
在第一个取操作码操作的“取得/执行周期”中,处理器23(n)的每一个取指令周期都按以下步骤来处理指令:首先从非易失存储器26中读出指令,然后根据该指令来执行它。然后,处理器23(n)中的每一个从系统存储器18中取出下一条指令,等等。包括整个系统重置(“冷引导”)或单纯CPU重置(“热引导”)在内的重启事件包括POST(开机自检测)。具体地说,POST测试是计算机10在开机时对其硬件、处理器12和系统存储器18所执行的测试。操作码50例如可以是JMP(跳转)指令或间接分支指令,计算机10首先通过VTF文件42中的固定位置之一(例如,到安全代码(SEC)组件54中的偏移量)来执行上述指令,以访问位于VTF文件42中的附加文件容器或后跟的指令。这样,当计算机10第一次开机时,操作码50就是一个必需的入口点,用于将控制传递给驻留于VTF文件42中的其它文件容器,例如指针52(图2)。
VTF文件42包括VTF记录列表56、安全代码(SEC)54、指向VTF记录列表56的指针52、以及引导固件卷(BFV)基58。VTF文件42是一个符合某种规范的文件,例如符合可扩展固件接口(EFI)规范,该规范设计用来使得开发者能够容易地实现不同的计算平台。例如,EFI规范描述了一种具有一组核心组件的公共框架,例如插件环境初始化(PEI)和驱动程序执行环境(DXE)核心文件。EFI规范提供了一种核心框架和环境,与平台及操作系统(OS)无关。然而,EFI规范既是二进制接口,又是API集。
由此,EFI规范定义了OS 22和平台38之间的接口,其驻留于非易失存储器26中。EFI规范所提供的接口包括对OS 22及其加载器可用的引导/运行时服务调用以及有关平台的信息。
VTF记录列表56定义了一个位置,VTF文件42在该位置处包含一个枚举项的列表,这些枚举项例如是可包括至少一个固件模块44的位置的已命名记录类型、VTF文件42内的SEC代码(SEC)54等。引导向量处的启动前导代码可以“发现”至少一个固件模块44的位置、VTF文件42内的SEC代码(SEC)54。VTF记录列表56采取必要的步骤来使得处理器12的缓存能够起到数据缓存的作用,并在VTF记录列表56中搜索引导固件卷基58,对固件模块44(a)-44(b)进行认证。
SEC 54被配置为设置机器状态,允许处理器缓存作为数据调用堆栈,调用可选的认证服务,并且准备交接(hand-off)状态(例如象引导固件卷(BFV)基58一样的固件卷基的位置),并将控制传递给调度器模块46。SEC 54也用来实现一条信任链。实现“信任链”引起了一个转移关系,其中第一个软件组件对后面的组件执行某种操作,以认证固件模块44(a)-44(b),还确保一种集成式支持,用于访问或可编程地发现用于执行进一步指令的其它必要文件。
指向VTF记录列表56的指针52是一个固定位置项,其允许在VTF记录列表56中发现大小可变的记录列表。调度器模块46需要知道各种固件模块44的位置。引导固件卷(BFV)基58是一个包括用来初始化VTF文件42的代码或文件卷的容器。引导固件卷基58是指针52所访问的文件的封装。引导固件卷(BFV)基58包括例程、子例程、或者执行专门任务的程序的一组有序指令。因此,引导固件卷基58将一系列计算机指令组合在一起,并封装指针52可访问的文件,从而允许处理器12执行包含在引导固件卷基58中的代码或文件。
VTF文件42也包括卷的起始端62。SEC 54位于VTF记录列表56和紧邻重置向量51之下的指针52之间。VTF文件42的地址,具体地说是操作码50的地址和引导固件卷基58相对于指针52而言都是固定的,虽然操作码50和引导固件卷基58的大小都可变。
下面参考图2和3来描述用于计算机10的引导过程100。
参考图3,在用于计算机10的引导过程100中,在执行PSOT测试期间,检测到重置向量51。一旦检测到重置向量51,固件系统40就初始化(102)处理器12的引导序列。取决于所使用的计算平台38,这例如可以包括内建自测试(BIST)和处理器标识(ID)检验。在处理器12中实现这些引导步骤,处理器12例如可以是位于加利福尼亚州圣克拉拉的Intel公司制造的64位ItaniumTM处理器,其中的引导控制开始于PAL(处理器抽象层)固件组件,该组件将控制转移到另一个可寻址的位置。在初始的引导序列或例程例如引导过程100当中,响应于由处理器重置引起的“取得/执行周期”,处理器12取出位于VTF文件42中的指令并执行该指令。
下面,执行安装(106)初始文件系统的过程,使得初始文件系统中的固件模块44(a)能够被发现。安装(106)初始文件系统也包括使用例如固件调度器46(由数据结构66指向的)来访问固件模块44(a)中的适当例程64,以获得对其它固件模块例如固件模块44(b)的访问权。例如,调度器模块46通过从固件模块中的任何一个中接收索引后的输入,并使用被包括的索引来经由调用表70访问例程单元64中的例程之一,从而提供对例程64的访问。一旦固件模块44(a)被发现,则通过检验(108)所发现的固件模块44(a)属于所述信任链,提供可能的认证。具体地说,信任链是一种转移关系,其中固件模块44(a)必须验证或认证固件模块44(b),然后固件模块44(b)将验证后续的固件模块44,如此等等。信任链交接的控制流引入了对后续组件的认证或验证,以保持“链”的逻辑链接关系。SEC 54完成信任链的认证过程。一旦固件模块44(a)的发现和认证都已结束,则体系结构的交接状态就转换到固件调度器46的启动中,并且控制被传递(110)给固件调度器46。交接信息传达了关于固件卷布置的状态信息、认证结果、以及固件模块44(a)需要的可选认证已知的其它状态信息。
一旦控制已被传递(110)到固件调度器46,则固件模块44(a)和44(b)被载入(112)到系统存储器18中,并在引导过程100的剩余过程中执行。可以执行(114)可选的验证校验,并通过检验(118)是不是最后一个模块而依次执行(116)所有剩余的固件模块44(未示出)。于是,引导过程100最终执行(120)计算机10的系统启动。
在某些实施例中,计算机10的外围总线30例如代表一个或多个外围元件互连(PCI)总线、工业标准体系结构(ISA)总线、扩展ISA(EISA)总线和相当的外围总线。非易失存储器26可以是一个静态存储设备,例如只读存储器(ROM)或闪存。外围设备28也可以包括大容量存储设备,例如硬盘驱动器和数字视频盘(DVD)。这些设备连同系统逻辑14一起,定义了用于计算机10的计算平台38,例如Intel公司设计的Intel体系结构(IA)平台,包括Intel体系结构-32(IA-32)、XScaleTM和IntelItaniumTM芯片集。因此,对于计算机10,处理器12可以实现例如基于IA-32、XScaleTM和IntelItaniumTM处理器的指令集体系结构(ISA)。
一种重要的平台基础结构支持基于IA-32、XScaleTM和IntelItaniumTM的平台。这种基础结构包括外围设备28以及引导、配置并支持这些设备所必需的基本输入输出系统(BIOS或固件)。例如,例程64例如包括IA-32、XScaleTM或ItaniumTM代码序列,这些代码序列初始化并配置处理器12、系统逻辑14、系统存储器18和分别运行在本地IA-32、XScaleTM或ItaniumTM环境中的其它资源。
在某些实施例中,非易失存储器26存储的固件系统40包括各种类型的外围设备和各种类型的平台所提供的二进制码。为了在实现多种体系结构、组件和新功能时实现源级集成,提供了一种核心公共框架,它对平台或芯片集是不可知的。因此,通过二进制接口而提供了不同组件之间的二进制互操作性,而非支持用于固件系统40的单一整体式(monolithic)二进制形式。
如上所述,EFI规范提供了可与平台和API无关的核心框架和环境,从而提供了一种用于引导OS 22的公共的核心标准环境。例如,EFI规范被设计为一个纯粹的接口规范,同样地,这个规范定义了计算平台固件必被设计为一个纯粹的接口规范,同样地,这个规范定义了计算平台固件必须实现的一组接口和结构。类似地,EFI规范定义了OS 22在引导过程(如在上述的引导过程100中一样)中所使用的一组接口和结构。因此,(3S 22和固件系统40只需传送必需和必要的信息来支持引导过程100。
因此,在EFI规范中体现出从单一整体式二进制形式的框架转移到模块化的固件设计的一种抽象,这种抽象集中在对BIOS不进行任何运行时的调用,因此定义了一种引导基础结构和一组服务,它们构成了公共平台定义和规范。具体地说,通过“句柄”和“协议”抽象出对外围设备28的访问。这有助于通过使下层的实现需求不进入规范而使用及复用现有的固件代码,而不加重对设备的复杂访问。
EFI规范可以定义一种公共引导环境的抽象,以供加载的EFI映像使用,所述的抽象包括EFI驱动程序、EFI应用程序和EFI OS加载器。在某些实施例中,EFI规范还包括运行时服务、系统分区、以及对现有的基于表的接口的复用,诸如此类。
此外,在某些实施例中,计算机10的引导过程100的流程支配着VTF文件42的设计。例如,在IA-32平台中,处理器12取出位于地址4GB减去16处的操作码50(图2)。另外,从重置向量51往上,引导操作100需要得到精确的描述。例如,对于基于IA-32和Itanium的微处理器而言,重置向量51必须存在于32位地址空间的顶端附近。对于32位处理器系列例如IA-32而言,这个地址固定在4Gbyte(“吉字节”)减去16处。因此,固件系统40提供了一个与众不同的模块,它是第一个将被执行的文件,并且它的末端必须和4Gbyte的边界对齐。这个与众不同的模块就是VTF文件42。因此,VTF文件42的与众不同之处不仅仅在于要求引导非易失存储器26,而且还在于它还必须是固件系统40的最后一个文件。
虽然上面利用基于IA-32、XScaleTM或ItaniumTM的ISA(指令集体系结构)实现了多个实施例,但是上述系统和方法也适用于其它ISA,从移动系统到服务器。
其它实现也落入所附权利要求的范围之内。

Claims (30)

1.一种方法,包括:
初始化计算机中的引导例程,所述计算机具有模块化的、在体系结构上被定义的、用于建立固件的组件;
引导一个卷顶文件,该卷顶文件位于在初始化所述引导例程时可访问的第一可寻址位置处;
使用重置向量来访问所述卷顶文件;并且
所述卷顶文件引导一组固件模块,其中所述卷顶文件遵从可扩展固件接口规范,其中所述的一组固件模块存在于固件卷中,并且其中所述卷顶文件被用来在所述固件卷中定位和访问必要的代码和指针。
2.如权利要求1所述的方法,还包括使用所述卷顶文件来定位一个调度器模块。
3.如权利要求2所述的方法,还包括使用所述调度器模块来访问所述的固件模块组。
4.如权利要求3所述的方法,其中,所述固件模块组初始化所述计算机。
5.如权利要求1所述的方法,还包括使用重置向量来访问所述卷顶文件。
6.如权利要求1所述的方法,其中,所述卷顶文件包括所述固件模块组的地址。
7.如权利要求1所述的方法,其中,所述卷顶文件包括第一固件模块的基的地址。
8.如权利要求7所述的方法,其中,所述第一固件模块的基包括一个引导固件卷基。
9.如权利要求1所述的方法,其中,所述卷顶文件包括认证单元。
10.如权利要求1所述的方法,其中,所述卷顶文件验证所述固件模块组。
11.如权利要求1所述的方法,还包括将所述卷顶文件指定为所述固件模块组中的最后一个文件。
12.如权利要求11所述的方法,其中,所述的指定操作包括将所述卷顶文件的末端与存储器边界对齐。
13.如权利要求11所述的方法,其中,所述存储器边界包括存储器的4吉字节和10吉字节之间的值。
14.如权利要求1所述的方法,其中所述卷顶文件包括在由所述计算机在体系结构上指定的代码和未由所述计算机在体系结构上指定的平台代码之间的桥。
15.如权利要求1所述的方法,还包括:
定位在所述计算机体系结构所需的固定位置上的代码和数据。
16.如权利要求1所述的方法,其中所述卷顶文件包括访问固件系统的基的已知信息,所述固件基将由所述的一组固件模块用来发布一组通用的访问服务,以发现卷。
17.一种系统,包括:
计算机的非易失存储器,其初始化所述计算机中的引导例程,所述计算机具有模块化的、在体系结构上被定义的、用于建立固件的组件;
所述计算机的处理体系结构,其被配置来引导一个卷顶文件,该卷顶文件位于在初始化所述引导例程时可访问的第一可寻址位置处;
用于访问所述卷顶文件的重置向量;和
所述卷顶文件,其被配置来引导一组固件模块,其中所述卷顶文件遵从可扩展固件接口规范,其中所述的一组固件模块存在于固件卷中,并且其中所述卷顶文件被用来在所述固件卷中定位和访问必要的代码和指针。
18.如权利要求17所述的系统,其中,所述卷顶文件被配置来定位一个调度器模块。
19.如权利要求17所述的系统,其中所述调度器模块被配置来访问所述固件模块组。
20.如权利要求17所述的系统,其中,所述固件模块组被配置来初始化所述计算机。
21.如权利要求17所述的系统,其中,所述卷顶文件包括所述固件模块组的地址。
22.如权利要求17所述的系统,其中,所述卷顶文件包括第一固件模块的基的地址。
23.一种装置,包括:
处理器,该处理器具有模块化的、在体系结构上被定义的、用于建立固件的组件;
非易失存储器,其中存储有:
包括第一固件模块和与所述第一固件模块相关联的数据结构的固件卷;
位于所述非易失存储器的第一可寻址位置处的卷顶文件,所述第一可寻址位置由计算机的中央处理单元进行访问,使用重置向量可访问所述卷顶文件,所述卷顶文件引导一组固件模块,并且其中所述卷顶文件遵从可扩展固件接口规范;和
所述卷顶文件可访问的第二固件模块。
24.如权利要求23所述的装置,其中,所述第一固件模块包括一个与众不同的固件模块,其与4Gbyte边界对齐并且是将被首先执行的卷顶文件。
25.如权利要求23所述的装置,还包括由所述卷顶文件来定位的调度器模块。
26.如权利要求23所述的装置,其中,所述固件模块组包括一个初始化例程,用于初始化所述计算机。
27.如权利要求23所述的装置,其中,所述卷顶文件包括所述第二固件模块的基的地址。
28.如权利要求27所述的装置,其中,所述第二固件模块的基包括一个引导固件卷基。
29.如权利要求23所述的装置,其中,所述卷顶文件包括认证单元。
30.如权利要求23所述的装置,其中,所述卷顶文件验证所述第二固件模块。
CNB028257731A 2001-12-20 2002-12-17 引导过程 Expired - Fee Related CN100353320C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/032,141 2001-12-20
US10/032,141 US7392371B2 (en) 2001-12-20 2001-12-20 Method and apparatus for using a volume top file to boot firmware modules

Publications (2)

Publication Number Publication Date
CN1606731A CN1606731A (zh) 2005-04-13
CN100353320C true CN100353320C (zh) 2007-12-05

Family

ID=21863311

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028257731A Expired - Fee Related CN100353320C (zh) 2001-12-20 2002-12-17 引导过程

Country Status (8)

Country Link
US (1) US7392371B2 (zh)
EP (1) EP1485797B1 (zh)
CN (1) CN100353320C (zh)
AT (1) ATE377790T1 (zh)
AU (1) AU2002353168A1 (zh)
DE (1) DE60223418T2 (zh)
HK (1) HK1068972A1 (zh)
WO (1) WO2003054697A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188146A1 (en) * 2002-03-28 2003-10-02 Hale Robert P. Method of ordered execution of firmware modules in a pre-memory execution environment
US7263605B2 (en) * 2002-12-09 2007-08-28 Intel Corporation Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices
US20040128493A1 (en) * 2002-12-27 2004-07-01 Zimmer Vincent J. Methods and apparatus for providing a firmware defined radio
US20050086667A1 (en) * 2003-09-30 2005-04-21 Feng Jin Symmetric Scheduling for parallel execution
US7752617B2 (en) * 2003-11-20 2010-07-06 International Business Machines Corporation Apparatus, system, and method for updating an embedded code image
US7512616B2 (en) * 2003-11-20 2009-03-31 International Business Machines Corporation Apparatus, system, and method for communicating a binary code image
WO2005099334A2 (en) * 2004-03-31 2005-10-27 Intel Corporation Event handling mechanism
US7406592B1 (en) * 2004-09-23 2008-07-29 American Megatrends, Inc. Method, system, and apparatus for efficient evaluation of boolean expressions
US8041742B1 (en) * 2004-12-20 2011-10-18 American Megatrends, Inc. Method, system, and apparatus for providing generic database services within an extensible firmware interface environment
TWI264673B (en) * 2005-06-27 2006-10-21 Lite On Technology Corp Methods and computers for presenting graphical user interface during a boot operation
US7558804B1 (en) 2005-08-26 2009-07-07 American Megatrends, Inc. Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
EP1963966A4 (en) * 2005-12-24 2009-12-30 Intel Corp METHOD AND DEVICE FOR EFFICIENT ARRANGING OF PORTABLE EXECUTABLE (PE) PICTURES
US7779244B2 (en) * 2006-12-28 2010-08-17 Intel Corporation Multi-socket boot
US7925876B2 (en) * 2007-08-14 2011-04-12 Hewlett-Packard Development Company, L.P. Computer with extensible firmware interface implementing parallel storage-device enumeration
US8078862B2 (en) * 2008-04-25 2011-12-13 Intel Corporation Method for assigning physical data address range in multiprocessor system
US20100083365A1 (en) * 2008-09-30 2010-04-01 Naga Gurumoorthy Apparatus and method to harden computer system
US8132267B2 (en) * 2008-09-30 2012-03-06 Intel Corporation Apparatus and method to harden computer system
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
TWI464583B (zh) * 2012-03-02 2014-12-11 Wistron Corp 取得觸發功能之指令的方法
CN105867945B (zh) * 2016-04-20 2018-11-16 华为技术有限公司 一种bios启动方法及装置
EP3291087A1 (en) * 2016-09-01 2018-03-07 Nxp B.V. Apparatus and associated method for authenticating firmware
US10452386B1 (en) * 2018-07-19 2019-10-22 American Megatrends International, Llc Non-destructive update of discrete components of firmware
DE102022128183B3 (de) 2022-10-25 2023-12-07 Audi Aktiengesellschaft Verfahren zum Starten einer Datenverarbeitungseinrichtung, Datenverarbeitungseinrichtung und Kraftfahrzeug

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193775A (zh) * 1997-03-17 1998-09-23 国际商业机器公司 软只读存储器
US6081890A (en) * 1998-11-30 2000-06-27 Intel Corporation Method of communication between firmware written for different instruction set architectures
US6202091B1 (en) * 1997-12-08 2001-03-13 Nortel Networks Limited Process and apparatus for initializing a computer from power up

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US6434695B1 (en) * 1998-12-23 2002-08-13 Apple Computer, Inc. Computer operating system using compressed ROM image in RAM
US6374338B1 (en) * 1999-06-25 2002-04-16 International Business Machines Corporation Method for performing configuration tasks prior to and including memory configuration within a processor-based system
US6816963B1 (en) * 2000-01-31 2004-11-09 Intel Corporation Platform level initialization using an image generated automatically by a remote server based upon description automatically generated and transmitted thereto by a processor-based system
US6868507B1 (en) * 2000-11-07 2005-03-15 Intel Corporation Operating system independent
US7299463B2 (en) * 2001-09-28 2007-11-20 Intel Corporation Method for atomically updating a plurality of files

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193775A (zh) * 1997-03-17 1998-09-23 国际商业机器公司 软只读存储器
US6202091B1 (en) * 1997-12-08 2001-03-13 Nortel Networks Limited Process and apparatus for initializing a computer from power up
US6081890A (en) * 1998-11-30 2000-06-27 Intel Corporation Method of communication between firmware written for different instruction set architectures

Also Published As

Publication number Publication date
WO2003054697A3 (en) 2004-05-21
EP1485797B1 (en) 2007-11-07
EP1485797A2 (en) 2004-12-15
US7392371B2 (en) 2008-06-24
ATE377790T1 (de) 2007-11-15
DE60223418D1 (de) 2007-12-20
AU2002353168A1 (en) 2003-07-09
WO2003054697A2 (en) 2003-07-03
US20030120909A1 (en) 2003-06-26
CN1606731A (zh) 2005-04-13
HK1068972A1 (en) 2005-05-06
DE60223418T2 (de) 2008-09-04

Similar Documents

Publication Publication Date Title
CN100353320C (zh) 引导过程
CN100561437C (zh) 用于对系统bios本地及远程更新及配置的独立于芯片组的方法
US7103641B2 (en) Method and apparatus for distributing computer platform firmware across a network
US20170220278A1 (en) Backing up firmware during initialization of device
US10599849B2 (en) Security module authentication system
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
US9395968B1 (en) Uniquely identifying and validating computer system firmware
US7159105B2 (en) Platform-based optimization routines provided by firmware of a computer system
US7143279B2 (en) Dynamic BIOS execution and concurrent update for a blade server
CN102135893A (zh) 将操作系统集成到bios芯片及启动服务器上操作系统的方法
CN101421700A (zh) 支持处理系统的分区中的独立操作系统的方法和设备
CN109426613B (zh) 在uefi中检索调试数据的方法及其电脑系统
US7127603B2 (en) System and method for manufacture of information handling systems with selective option ROM executions
US7353376B2 (en) Method and system for implementing full BBS (BIOS boot specification) functionality with a single device list
US20060031669A1 (en) Boot method and system
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
US20220276873A1 (en) Unavailable memory device initialization system
CN101299189A (zh) 自启动多操作系统之一的dos的方法
US6986034B2 (en) Setting a system indication in response to a user when execution of the system setup program is desired
CN112463244B (zh) 一种cpu启动方法、装置、电子设备及计算机可读存储介质
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、系统及介质
CN102591669A (zh) 模块化计算机固件及其实现方法
CN116302150B (zh) hypervisor自启动程序生成方法和操作系统启动方法
CN118409804A (zh) 引导加载程序的版本切换方法及装置
Peripheral Q PCibus/ISA J ‘

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071205

Termination date: 20141217

EXPY Termination of patent right or utility model