计算机装置的制作方法

文档序号:15998634发布日期:2018-11-20 19:09阅读:198来源:国知局
本发明涉及一种计算机装置,且特别涉及一种可在运行BIOS时中断并执行接口函数以配置寄存器的计算机装置。
背景技术
::随着中央处理单元(centralprocessingunit,CPU)及其他计算机硬件设备的革新,传统的基本输入输出系统(basicinputoutputsystem,BIOS)逐渐暴露出其不足之处,例如,开发效率低、性能差、功能扩展性差、升级缓慢、安全性差以及不支持从硬盘2TB以上的地址引导等。传统BIOS的这些不足逐渐成为计算机系统发展的瓶颈。基于此,统一可扩展固件接口(UnifiedExtensibleFirmwareInterface,UEFI)BIOS被提出,其弥补了传统BIOS的不足,主要得益于UEFIBIOS系统的以下优点:开发效率更高、可扩展性更强、系统性能更好、安全性更高。然而,在进行UEFIBIOS的相关研发工作(例如除错)时,若判断需要对UEFIBIOS进行修改的话,需要相关的研发人员在完成UEFIBIOS的修改后重新编译并重新发布。之后,若再次需要对UEFIBIOS进行其他修改的话,则上述流程又必须得重新编译并重新发布,从而降低了工作的效率,更延长了研发的周期和成本。因此,对于本领域技术人员而言,如何设计一种可提升上述效率的机制实为一项重要议题。技术实现要素:为了提高UEFIBIOS的可塑性及利用其对计算机装置中的寄存器进行配置的效率,本发明提供一种计算机装置,包括存储介质及处理器,其中,存储介质存储一配置文件,其中配置文件用于对计算机装置中的至少一特定类型硬件进行配置;处理器耦接存储介质并经配置以:运行一基本输入输出系统,并在基本输入输出系统的一运行过程中执行一第一接口函数,并通过第一接口函数读取并解析配置文件;以及依据第一接口函数解析配置文件的结果配置计算机装置中一第一特定类型硬件的一第一寄存器。通过本发明所提供的配置文件及接口函数,进而实现对计算机装置的硬件(例如中央处理器CPU、芯片组及外部控制器)配置进行更新,本发明提高了UEFIBIOS的可塑性(即,可在BIOS运行过程中对硬件的配置进行更改)及利用其对计算机装置中的寄存器进行配置的效率,也可提高工作效率,更降低了研发的周期和成本。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是本发明实施例的计算机装置示意图。图2是依据本发明实施例绘示的在UEFIBIOS运行过程中的不同配置阶段存取配置文件以配置寄存器的示意图。图3是本发明实施例的由BIOS输出的串口日志提示。【符号说明】10:计算机装置11:存储介质11a:配置文件12:处理器T1、T2、T3、T4、T5:配置阶段D1、D2、D3、D4、D5:数据串21a、21b、21c、21d、21e:特定区域具体实施方式概略而言,本发明提出一种计算机装置,其处理器可在运行UEFIBIOS的过程中,通过特别设计的接口函数访问存储在存储介质中特定位置的配置文件,并基于配置文件的内容调整计算机装置中的某些硬件的配置。如此一来,若有对计算机装置中的某些硬件进行重新配置的需求时,可不经过例如修改、编译、发布UEFIBIOS等流程,而只需通过修改存储介质中的配置文件,例如可通过编辑配置文件的内容即可达到对计算机装置中的某些硬件进行重新配置的效果。藉此,可提升UEFIBIOS的可塑性,以及研发工作的效率并缩短研发的周期。请参照图1,其是本发明实施例的计算机装置示意图。在一实施例中,计算机装置10包括存储介质21及处理器12。在不同的实施例中,计算机装置10可以为智能手机、个人计算机(personalcomputer,PC)、笔记型计算机(notebookPC)、网本型计算机(netbookPC)、平板计算机(tabletPC)、电视机、便携式装置、或便携式多媒体播放器(portablemultimediaplayer)等。存储介质11可以是串口周边接口只读内存(SerialPeripheralInterfaceReadOnlyMemory,SPIROM)、NAND闪存芯片、U盘或硬盘。处理器12耦接存储介质11,并可以是CPU或其他类似的处理器,但可不限于此。在本发明的实施例中,存储介质11可用于存储配置文件11a,其中配置文件11a用于对计算机装置10中的至少一特定类型硬件进行配置,特定类型的硬件包括但不限于处理器12、芯片组(未绘示)及外围设备控制器接口(未绘示)等。而处理器12可运行BIOS(例如UEFIBIOS),并在前述BIOS的运行过程中执行第一接口函数,并通过第一接口函数读取并解析配置文件11a,以及依据第一接口函数解析配置文件11a的结果配置计算机装置10中的第一特定类型硬件中的第一寄存器。以下特列举数个实施例来具体说明本发明的精神。为便于说明,以下暂以UEFIBIOS作为实例,但其并非用以限定本发明的实施方式。UEFIBIOS的运行过程可大致包括安全启动阶段(简称为SEC阶段)、预可扩展固件接口初始化阶段(简称为PEI阶段)、驱动执行阶段(简称为DXE阶段)及启动设备选择阶段(简称为BDS阶段)四个阶段。在上述阶段中,SEC阶段是机器最早的启动阶段,此段时间很短;在PEI阶段中,CPU工作在保护模式32位状态,启动并初始化内存控制器,完成一些最基本的硬件芯片初始化工作;在DXE阶段中,CPU工作模式转为64位保护模式中的长模式,BIOS装载所有的硬件芯片驱动程序,完成所有硬件的初始化动作。在BDS阶段中,将根据BIOS预先设定好的启动顺序,开始启动操作系统(operatingsystem,OS)。在本发明的一实施例中,处理器12可在执行上述阶段中的第一阶段时,中断第一阶段中的一正执行的步骤,开始执行第一接口函数以读取并解析配置文件11a,并依据第一接口函数解析配置文件11a的结果配置计算机装置10中的第一特定类型硬件中的第一寄存器。接着,在完成配置第一寄存器后,处理器12可恢复执行第一阶段中剩余的步骤。具体而言,研发人员可依据需求而在UEFIBIOS中设置点位(checkpoint),使得处理器12在运行至上述点位时即中断第一阶段中的一正执行的步骤,开始执行上述第一接口函数。在不同的实施例中,第一接口函数可以有不同的实施方式。举例而言,若所考虑的第一阶段为PEI阶段,则第一接口函数可以是PEI模块对PEI模块接口(PEImoduletoPEImoduleinterface,PPI)(依据UEFIBIOS的相关规格书,PPI仅对应于PEI阶段)。对另一实施例而言,若所考虑的第一阶段为DXE阶段或BDS阶段,则第一接口函数可以是UEFIBIOS规格书中定义的“Protocol”(依据UEFIBIOS的相关规格书,“Protocol”仅对应于DXE阶段及BDS阶段)。换句话说,通过第一接口函数的程序代码,处理器12在执行第一接口函数时可在存储介质11中的指定位置找到配置文件11a,并能够解析配置文件11a的内容,再根据解析的结果正确地对所欲配置的硬件(例如第一寄存器)进行配置。在另一实施例中,处理器12也可在完成第一阶段之后才执行第一接口函数以读取配置文件11a并据以配置第一寄存器,并在完成配置第一寄存器之后,接续执行第二阶段。换句话说,前述点位可设置于连续的第一阶段(例如SEC阶段)及第二阶段(例如PEI阶段)之间,使得处理器12可在点位所对应的配置阶段执行第一接口函数,但可不限于此。此外,在其他实施例中,处理器12在执行第一接口函数以完成对第一寄存器的配置之后,还可在UEFIBIOS余下的运行过程中另执行第二接口函数,并通过该第二接口函数读取并解析配置文件11a,并依据该第二接口函数解析配置文件11a的结果配置计算机装置10中第二特定类型硬件中的第二寄存器。举例而言,假设第一寄存器及第二寄存器分别为处理器12(例如,CPU)中的特定模式寄存器(model-specificregister,MSR)及芯片组(Chipset)中的寄存器,则处理器12例如可分别在PEI阶段及DXE阶段中的不同点位执行第一接口函数(例如“PPI”)及第二接口函数(例如“Protocol”)来读取存储介质11中的配置文件11a,藉以在上述点位对应的配置阶段分别配置第一寄存器及第二寄存器,但可不限于此。举例而言,除上述特定模式寄存器外,第一寄存器也可以为硬盘寄存器;除芯片组中的寄存器,如图形处理器(GraphicProcessingUnit,GPU)中的寄存器外,第二寄存器也可为计算机外围设备控制器中的寄存器,如USB控制器的寄存器。在一实施例中,配置文件可存储在存储介质11上设置的多个特定区域中,而这些特定区域可分别对应于处理器12执行接口函数的配置阶段,并可用以存储数据串。前述数据串可包括所欲配置的寄存器的配置信息(例如,地址信息及遮罩值等)。藉此,当处理器12在不同的配置阶段执行接口函数时,即可在对应的特定区域中找到所需的数据串,并解析该数据串,再依据解析后得到的配置信息配置所欲配置的寄存器。以下将辅以图2作进一步说明。请参照图2,其是依据本发明实施例绘示的在UEFIBIOS运行过程中的不同配置阶段存取配置文件以配置寄存器的示意图。如图2所示,UEFIBIOS的运行过程包括诸多更具体的阶段,而在本例中可设定为在对应于配置阶段T1、T2、T3、T4及T5的时间点设置点位,藉以让处理器12可分别在配置阶段T1、T2、T3、T4及T5通过执行接口函数(例如PPI或Protocol)来读取存储介质21中的配置文件21a中的数据串D1~D5。在图2中,配置阶段T1可位于启动处理器(Boot-StrapProcessor,BSP)载入补丁(patch)后;配置阶段T2可在处理器12设置CPU特性前;配置阶段T3可在处理器12设置CPU特性后;配置阶段T4可在DXE阶段中;配置阶段T5可在启动OS之前。在图2中,存储介质21中可包括特定区域21a、21b、21c、21d及21e,其中各特定区域21a、21b、21c、21d及21e的大小可以设定为4K字节,但本发明不限于此。在本实施例中,特定区域21a位于存储介质21中的地址可为0x100000~0x100FFF;特定区域21b位于存储介质21中的地址可为0x101000~0x101FFF;特定区域21c位于存储介质21中的地址可为0x102000~0x102FFF;特定区域21d位于存储介质21中的地址可为0x103000~0x103FFF;特定区域21e位于存储介质21中的地址可为0x104000~0x104FFF。但本发明不限于此,在一些实施例中,特定区域可为存储介质21中任意空闲的区域,例如,特定区域21a的地址可由三部分不连续的地址段共同组成。特定区域21a、21b、21c、21d及21e可分别对应于配置阶段T1、T2、T3、T4及T5,且可分别用于存储不同的数据串D1、D2、D3、D4及D5。这些数据串D1、D2、D3、D4及D5可协同形成一配置文件,且各数据串D1、D2、D3、D4及D5可包括所欲配置的寄存器的多个配置信息(例如,地址信息及遮罩值等)。图2的实施例以存储介质21为串口周边接口只读内存(SPIROM)为例,即是说,各数据串D1、D2、D3、D4及D5协同形成如图1所示的配置文件11a,与BIOS码存储于相同的存储介质21,但本发明不限于此,配置文件也可以存储于NAND闪存芯片、U盘或硬盘。详细而言,当处理器12在配置阶段T1执行第一接口函数(例如PPI)时,第一接口函数可相应地读取配置文件,并访问对应于配置阶段T1的特定区域21a以取得数据串D1,解析数据串D1以取得其中的配置信息。为便于说明,以下假设图2实施例中所欲配置的寄存器皆为MSR,但其并非用以限定本发明的实施方式。每个MSR的配置信息包括:MSR地址,占用4个字节;内核遮罩(Coremask),占用4个字节;与非遮罩(NANDmask)和或遮罩(ORmask),用于填入MSR要设置的值,其分别占用8个字节;设置顺序、标志位以及为了提高配置效率而采用字节对齐加入的保留位,占用8个字节。由此可见,配置一个MSR共需要32个字节,因此上述特定区域(如21a、21b、21c、21d或21e)可用于配置128个(即,4K/32)MSR。详细而言,配置一个MSR所需的32个字节的用途如下所示:(1)字节0-3:MSR地址;(2)字节4-7:内核遮罩,其用以指出处理器12中的哪个内核(core)需要设置,其中的比特k对应于第k个内核(k可为0-31之间的整数),比特k为1时表示需要设置第k个内核,比特k为0时表示不需要设置第k个内核;(3)字节8:表示设置顺序,其中的比特0为1时表示从第0个内核开始依序设置内核,比特0为0时表示从最后一个内核反序设置内核,比特1至比特7为保留位;(4)字节9-15:保留字节;(5)字节16-23:NAND遮罩;(6)字节24-31:OR遮罩;其中NAND遮罩及OR遮罩用于填入MSR要设置的值。举例而言,假设欲将处理器12中第0个内核中位于地址1440的MSR配置为080001028h,则其相应的配置信息可表征为:(1)字节0-3:00001440h(即,MSR的地址);(2)字节4-7:00000001h(即,对第0个内核进行配置);(3)字节8-15:FFFFFFFF(默认值);(4)字节16-23:FFFFFFFFFFFFFFF;(6)字节24-31:0000000080001028。在此情况下,当处理器12在配置阶段T1藉由执行第一接口函数(例如PPI)而取得数据串中的上述配置信息时,处理器12即可相应地将第0个内核中位于地址1440的MSR配置为080001028h。举另一例而言,假设欲将处理器12中所有内核中位于地址1023的MSR的比特25写1,比特26清0,则其相应的配置信息可表征为:(1)字节0-3:00001023h(即,MSR的地址);(2)字节4-7:FFFFFFFFh(即,所有的内核);(3)字节8-15:FFFFFFFF(默认值);(4)字节16-23:Mask=Lshift64(3,25)(其代表将3的二进位值(即,11)向左移25个比特,即令比特25及26皆为1);(6)字节24-31:Data=Lshift64(1,25)(其代表将1的二进位值向左移25个比特,并与Mask作OR运算以将MSR的比特25写1,比特26清0)。在此情况下,当处理器12在配置阶段T1藉由执行第一接口函数(例如PPI)而解析数据串以取得上述配置信息时,处理器12即可相应地将所有内核中位于地址1023的MSR的比特25写1,比特26清0。请再次参照图2,在处理器12藉由执行第一接口函数(例如PPI)而在配置阶段T1完成MSR的配置之后,处理器12可在配置阶段T2执行第二接口函数(例如PPI),而第二接口函数可相应地访问对应于配置阶段T2的特定区域21b以取得并解析数据串D2,从而依据解析数据串D2取得的配置信息来配置所欲配置的MSR。在一实施例中,配置文件可为计算机能直接运行的二进制文件,相应地,数据串也为二进制文件。相似地,处理器12可在配置阶段T3执行第三接口函数(例如PPI),而第三接口函数可相应地访问对应于配置阶段T3的特定区域21c以取得并解析数据串D3,从而依据解析数据串D3取得的配置信息来配置所欲配置的MSR。之后,处理器12可在配置阶段T4执行第四接口函数(例如Protocol),而第四接口函数可相应地访问对应于配置阶段T4的特定区域21d以取得并解析数据串D4,从而依据解析数据串D4取得的配置信息来配置所欲配置的MSR。接着,处理器12可在配置阶段T5执行第五接口函数(例如Protocol),而第五接口函数可相应地访问对应于配置阶段T5的特定区域21e以取得并解析数据串D5,从而依据解析数据串D5取得的配置信息来配置所欲配置的MSR。在其他实施例中,除了MSR之外,处理器12也可藉由在适当的配置阶段执行接口函数来读取并解析配置文件,并据以配置其他种类的寄存器或其他硬件参数,例如,处理器12中的微码(Microcode)、芯片组的输入输出(IO)空间配置、PCI配置空间设置或内存(memory)设置。相应地,配置文件中也可记载有描述如何配置上述各类型元件的数据串,而此数据串中各配置信息的格式可经过特别的设计,藉以让接口函数可在解析此数据串中的配置信息后对所欲配置的元件进行正确的配置。在一实施例中,当存储介质21为U盘或硬盘时,可在该存储介质中建立一个名为“Config.cfg”的配置文件,该配置文件可经过加密处理,并可在UEFIBIOS的运行过程中被解密。在上述配置文件中,可记载有用于配置处理器12中的微码、芯片组的IO空间配置、PCI配置空间设置或内存设置等相应的一种或多种配置信息,其中,各种配置信息的格式可例示如下。针对MSR,其配置信息可包括:(1)MSR地址;(2)内核遮罩;(3)设置顺序及保留位;(4)数值的AND遮罩;(5)数值的OR遮罩。针对芯片组的IO空间配置,其配置信息可包括:(1)IO地址;(2)字节宽度(1字节、2字节或4字节);(3)数值的AND遮罩;(4)数值的OR遮罩。针对内存设置,其配置信息可包括:(1)内存地址;(2)字节宽度(2字节、4字节或8字节);(3)数值的AND遮罩;(4)数值的OR遮罩。针对PCI配置空间设置,其配置信息可包括:(1)域段地址(segment);(2)总线编号(BusNumber);(3)装置编号(DeviceNumber);(4)功能编号(FunctionNumber);(5)寄存器;(6)位宽(1字节、2字节或4字节);(7)数值的AND遮罩;(8)数值的OR遮罩。针对处理器12中的微码(MicroCode),其配置信息可包括所欲写入的微码内容。此外,除配置信息外,数据串中还可记载对应不同配置阶段的阶段起始标记及阶段结束标记,以及对应不同类型元件的类型起始标记及类型结束标记,其中,类型起始标记及类型结束标记可记载于阶段起始标记及阶段结束标记之间,而类型起始标记及类型结束标记之间可记载相应类型元件的配置信息。藉此,当接口函数访问配置文件中的数据串时,即可藉由解析数据串的上述内容而得知应在哪个配置阶段对哪种类型的元件进行配置。在一实施例中,数据串可表征为如下形式:[第一阶段起始标记][第一类型起始标记](第一配置信息)[第一类型结束标记][第二类型起始标记](第二配置信息)[第二类型结束标记][第一阶段结束标记][第二阶段起始标记][第一类型起始标记](第三配置信息)[第一类型结束标记][第三类型起始标记](第四配置信息)[第三类型结束标记][第二阶段结束标记]…在以上数据串中,假设第一阶段起始标记及第一阶段结束标记对应于第一配置阶段,第一类型起始标记及第一类型结束标记对应于第一类型元件(例如MSR),而第二类型起始标记及第二类型结束标记对应于第二类型元件(例如IO空间配置)。在此情况下,当处理器12在第一配置阶段执行第一接口函数(例如PPI)时,第一接口函数可解析上述数据串以得知应在第一配置阶段时分别依据第一配置信息及第二配置信息对第一类型元件及第二类型元件进行配置。另外,假设第二阶段起始标记及第二阶段结束标记对应于第二配置阶段,第三类型起始标记及第三类型结束标记对应于第三类型元件(例如PCI配置空间设置以及USB控制器寄存器等)。在此情况下,当处理器12在第二配置阶段执行第二接口函数(例如Protocol)时,第二接口函数可解析上述数据串以得知应在第二配置阶段时分别依据第三配置信息及第四配置信息对第一类型元件及第三类型元件进行配置。以下特举一实例以进行更为具体的说明。在一实施例中,配置文件中的数据串可包括以下内容:[PEI0][MSR]//将第0个内核中地址为1440的MSR配置为400[Item]144010FFFFFFFFFFFFFFFF400//将第0个至第3个内核中地址为1440的MSR配置为400,先配置第3个内核,最后配置第0个内核[Item]1440F1FFFFFFFFFFFFFFFF400[MSR-END][IO]//将IO80写80[Item]80bFF80//将IO80、81写80[Item]80wFFFF8080//将IO80、81、82、83写入80[Item]80dFFFFFFFF80808080[IO-END][MEM]//往内存500000的地址处写入80[Item]500000bFF80[MEM-END][PCI]//将域段0、总线0、装置5、功能0、寄存器54的配置空间写入0x40[Item]005054bFF40[PCI-END][MICRO]//将以下Microcode文件写进CPU5552415300000000E2071701B0070300[MICRO-END][PEI0-END][PEI1]……[PEI1-END]在以上数据串中,[PEI0]及[PEI1]皆为阶段起始标记,[PEI0-END]及[PEI1-END]为分别对应于[PEI0]及[PEI1]的阶段结束标记。[MSR]、[IO]、[MEM]、[PCI]及[MICRO]皆为硬件类型起始标记,而[MSR-END]、[IO-END]、[MEM-END]、[PCI-END]及[MICRO-END]分别为对应于[MSR]、[IO]、[MEM]、[PCI]及[MICRO]的硬件类型结束标记。符号“[item]”后方为配置信息,而符号“//”后方为对配置信息的解释说明。在以上实施例中,假设[PEI0]及[PEI1]分别对应于第一配置阶段及第二配置阶段,而当处理器12在第一配置阶段执行第一接口函数而读取以上数据串时,第一接口函数即可相应地在第一配置阶段中依据记载于[PEI0]及[PEI0-END]之间的各个配置信息来配置MSR、微码、芯片组的IO空间配置、PCI配置空间设置或内存设置。以上数据串中各配置信息的格式含义可参照先前实施例中的说明。举例而言,第一接口函数可依据记载于[MSR]及[MSR-END]之间的两条配置信息而执行以下操作:(1)将第0个内核中地址为1440的MSR配置为400;(2)将第0个至第3个内核中地址为1440的MSR配置为400,可先配置第3个内核,最后配置第0个内核。另一举例而言,第一接口函数还可依据记载于[IO]及[IO-END]之间的三条配置信息而执行以下操作:(1)将IO80写入80;(2)将IO80、81写入80;(3)将IO80、81、82、83写入80。另外,第一接口函数还可依据记载于[MEM]及[MEM-END]之间的配置信息、记载于[PCI]及[PCI-END]之间的配置信息以及记载于[MICRO]及[MICRO-END]之间的配置信息而分别执行以下操作:(1)往内存的地址500000写入80;(2)将域段0、总线0、装置5、功能0、寄存器54的配置空间写入0x40;以及(3)将“5552415300000000E2071701B0070300”等微码写入CPU。之后,当处理器12在第二配置阶段执行第二接口函数而读取以上数据串时,第二接口函数即可相应地在第二配置阶段中依据记载于[PEI1]及[PEI1-END]之间的各个配置信息(未还提供)来配置MSR、微码、芯片组的IO空间配置、PCI配置空间设置或内存设置。U盘或硬盘等存储介质通常为文件配置表(fileallocationtable,FAT)等文件系统,存储空间比较大;而SPIROM、FlashROM或NAND闪存芯片等存储介质通常不为文件配置表FAT文件,存储空间比较小。在一实施例中,当存储介质21为SPIROM或NAND闪存芯片时,由于在BIOS运行过程的初期可能无法解析上述配置文件,可能需要使用额外的工具(tool)将配置文件转化为二进制形式。在一实施例中,存储于SPIROM及NAND闪存芯片等存储介质21中的配置文件可包括以下部分:(1)字节0-5:配置阶段;(2)字节6-7:保留;(3)字节8-15:配置类型;(4)字节16-N(N为不小于16的正整数):具体配置信息(各配置信息可占32个字节);(5)字节N-(N+32):结束标记,但本发明不限于此。总之,配置信息越多,配置文件越大,N值越大。在一实施例中,处理器12可控制BIOS输出串口日志(log)提示,用于查看所欲配置的硬件(例如MSR)是否已被正确地配置。请参照图3,其是本发明实施例的由BIOS输出的串口日志提示。在图3中,“Core”代表被配置的MSR位于哪个内核;“msr”代表被配置的MSR地址;“AndMask”代表需要配置的AndMask值;“OrMask”代表需要配置的OrMask值;“Value”代表最终写入MSR的值。通过图3所示出的内容,相关人员即可经由“Value”来确认所欲配置的MSR是否已依需求而被配置。在不同的实施例中,处理器12可在计算机装置10开机时载入BIOS,也可在计算机装置10从S3状态恢复时载入BIOS。当处理器12在开机时载入BIOS时,如先前实施例所提及的,BIOS的运行过程将依序经历SEC阶段、PEI阶段、DXE阶段及BDS阶段,之后将进入OS。当处理器12在S3状态恢复时载入BIOS时,BIOS的运行过程则只需经历SEC阶段及PEI阶段即进入OS,但处理器12仍可依据先前实施例中的教示而在SEC阶段中的某些配置阶段藉由执行接口函数来读取配置文件,藉以配置所欲配置的硬件。具体而言,当计算机装置10从S3状态回复时,处理器12或芯片组中的某些寄存器可能丢失(例如,当初开机时实施的配置消失了),因此若可在计算机装置10从S3状态恢复时执行接口函数而配置指定的寄存器,将可降低计算机装置10宕机(down)的机率。从另一观点而言,此可视为是一种补丁的机制。在一实施例中,处理器12须在完成SEC阶段之后才能访问NAND闪存芯片、U盘及硬盘,因此若存储介质21采用这三种方式实施的话,则处理器12执行接口函数的点位需设置于SEC阶段之后,方能顺利地读取存储于存储介质21中的配置文件。在一实施例中,若所欲配置的寄存器为与CPU或硬盘有关的寄存器,则处理器12可在PEI阶段中执行接口函数以对寄存器进行配置。在另一实施例中,若所欲配置的寄存器为与芯片组、USB控制器或图形处理单元有关的寄存器,则处理器12可在DXE阶段执行接口函数以对寄存器进行配置。综上所述,本发明实施例提出一种计算机装置,其可在BIOS的运行过程中的一或多个阶段内中断以执行特定的接口函数,并通过接口函数访问存储于存储介质中的配置文件。之后,可依据配置文件中的配置信息来配置特定的硬件(例如MSR)。如此一来,如需要更改某一硬件的配置,可不需进行例如修改、编译、发布UEFIBIOS等流程,只需编辑配置文件的内容即可达到重新配置某一硬件的效果。藉此,可简化相关的研发机制(例如减少修改硬件配置所需要经过的流程等),从而提升工作的效率;另外,提升了BIOS的可塑性,这样,即使BIOS出厂后,也可在BIOS运行过程中对硬件的配置进行更改,例如打补丁(patch)。虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1