CN103729219B - 一种uefi bios架构方法及系统 - Google Patents
一种uefi bios架构方法及系统 Download PDFInfo
- Publication number
- CN103729219B CN103729219B CN201310726268.9A CN201310726268A CN103729219B CN 103729219 B CN103729219 B CN 103729219B CN 201310726268 A CN201310726268 A CN 201310726268A CN 103729219 B CN103729219 B CN 103729219B
- Authority
- CN
- China
- Prior art keywords
- udxe
- drivers
- bds
- load
- protected modes
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种UEFI BIOS架构方法及系统,涉及计算机技术领域,其方法包括BIOS执行的以下步骤:启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;然后,在所述64位保护模式下启动UDXE运行,完成驱动程序装载;接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;其中,所述BIOS是指基本输入/输出系统,所述UDXE是指统一可扩展固件接口。本发明UEFI BIOS代码全部运行在64位保护模式下,节省BIOS启动时间。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种UEFI(Unified Extensible FirmwareInterface,统一的可扩展固件接口)BIOS(Basic Input Output System,基本输入输出系统)架构的方法及系统。
背景技术
目前的UEFI BIOS架构由五部份构成:SEC(Security phase,安全阶段),PEI(Pre-EFI Initialization phase,EFI初始化准备阶段),DXE(Driver Execution Environmentphase,驱动执行环境阶段),BDS(Boot Device Selection phase,启动设备选择阶段)和RT(Run Time phase,运行时期阶段)。SEC运行在大实模式,而PEI运行在32位保护模式下,然后通过DXE IPL(Initial Program Load,初始程序导入)模块将CPU切换到64位保护模式中的长模式。随后的DXE、BDS和RT均运行在64位保护模式下。在UEFI BIOS架构中,我们需要增加一个模块DXE IPL来完成CPU模式从32位移到64位模式下。带来的问题是:
1.UEFI BIOS代码一部分运行在32位保护模式下,而另一部份运行在64位保护模式下。这两部份代码必须分别编译,无法共享运行库。
2.UEFI BIOS要利用DXE IPL模块完成32位到64位保护模式的切换,这个切换过程会占用一部份BIOS启动时间。
为解决上述问题,本发明提供了一种UEFI BIOS架构的方法及系统。
发明内容
本发明的目的在于提供一种UEFI BIOS架构的方法及系统,解决了现有技术中需要进行32位到64位保护模式的切换,使得BIOS启动时间慢的问题。
根据本发明的一个方面,提供了一种UEFI BIOS架构的方法,包括BIOS执行的以下步骤:
启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
然后,在所述64位保护模式下启动UDXE(Unified Driver ExecutionEnvironment,统一驱动执行环境)运行,完成驱动程序装载;
接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS(Operation System,操作系统);
最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出系统,所述UDXE是指统一驱动执行环境。
优选地,在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:
在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;
所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
优选地,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
优选地,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
优选地,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
根据本发明的另一方面,提供了一种UEFI BIOS架构的系统,包括BIOS执行的以下模块:
SEC模块,用于启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
UDXE模块,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
BDS模块,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFIOS;
RT模块,用于在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出系统,所述UDXE是指统一驱动执行环境。
优选地,所述UDXE模块包括:
缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
优选地,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
优选地,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
优选地,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
与现有技术相比较,本发明的有益效果在于:
本发明通过使用UDXE,使得UEFI BIOS代码全部运行在64位保护模式下,节省了BIOS启动时间,提高了用户体验。
附图说明
图1是本发明实施例提供的一种UEFI BIOS架构的方法流程图;
图2是本发明实施例提供的一种UEFI BIOS架构的系统的示意图;
图3是本发明实施例提供的UEFI BIOS的架构流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1显示了本发明实施例提供的一种UEFI BIOS架构的方法流程图,如图1所示,包括BIOS执行的以下步骤:
步骤S101:启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
步骤S102:在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
步骤S103:在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFIOS;
步骤S104:在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出系统,所述UDXE是指统一驱动执行环境。
本发明在启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式从大实模式切换到64位保护模式。
本发明在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
其中,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
本发明所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
本发明还包括:当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
图2显示了本发明实施例提供的一种UEFI BIOS架构的系统的示意图,如图2所示,包括BIOS执行的以下模块:SEC模块201,用于启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;UDXE模块202,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装载;BDS模块203,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;RT模块204,用于在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;其中,所述BIOS是指基本输入/输出系统,所述UDXE是指统一驱动执行环境。
其中,所述UDXE模块202包括:缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
其中,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
本发明还包括:当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
图3显示了本发明实施例提供的UEFI BIOS的架构流程图,如图3所示,包括以下步骤:
步骤1、BIOS模块启动进入SEC阶段后,在SEC最后阶段切换CPU模式为64位保护模式长模式。
步骤2、BIOS将UDXE内核装载到CPU二级缓存,所述UDXE内核再装载64位UDXE驱动程序分发器,若加载成功,进入步骤3,若加载失败,结束运行工作。
64位UDXE驱动程序分发器装载64位内存控制器驱动程序,完成内存初始化后,将所述UDXE内核从CPU二级缓存移到4M常规内存中,在所述常规内存中64位UDXE驱动程序分发器继续装载其它64位驱动程序,如显卡,南桥等。
步骤3、64位UDXE驱动程序分发器装载BDS_ARCH_PROTOCOL驱动程序,进入BDS阶段,若加载成功,进入步骤4,若加载失败,结束运行工作。
步骤4、BDS阶段根据用户设定,装载并运行UEFI OS从所选定启动分区上,若加载成功,进入步骤5,若加载失败,结束运行工作。
步骤5、UEFI OS开始运行,进入RT阶段。
综上所述,本发明的新型UEFI BIOS架构由四部份构成:SEC、UDXE、BDS及RT。SEC运行在大实模式,而UDXE运行在64位保护模式中的长模式,是新型UEFI BIOS架构的第二阶段,此阶段驱动程序全部为64位微软PE32+格式驱动程序,并且提供一个64位的驱动程序装载器,在随后的BDS及RT均运行在64位保护模式下。
综上所述,本发明具有以下技术效果:
a.UEFI BIOS代码全部运行在64位保护模式下,不再需要32位模块。
b.无需再利用DXE IPL模块进行32位到64位保护模式切换,节省BIOS启动时间。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种UEFI BIOS架构方法,其特征在于,包括BIOS执行的以下步骤:
启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
然后,在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;
最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出系统;所述OS是指操作系统;所述UDXE是指统一驱动执行环境,是UEFI BIOS架构中SEC、UDXE、BDS及RT四阶段中的第二阶段,所述UDXE运行在64位保护模式中。
2.根据权利要求1所述的方法,其特征在于,在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:
在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;
所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
3.根据权利要求2所述的方法,其特征在于,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
4.根据权利要求2或3所述的方法,其特征在于,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
5.根据权利要求4所述的方法,其特征在于,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
6.一种UEFI BIOS架构系统,其特征在于,包括BIOS执行的以下模块:
SEC模块,用于启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
UDXE模块,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
BDS模块,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;
RT模块,用于在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出系统;所述OS是指操作系统;所述UDXE是指统一驱动执行环境,是UEFI BIOS架构中SEC、UDXE、BDS及RT四阶段中的第二阶段,所述UDXE运行在64位保护模式中。
7.根据权利要求6所述的系统,其特征在于,所述UDXE模块包括:
缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
8.根据权利要求7所述的系统,其特征在于,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
9.根据权利要求7或8所述的系统,其特征在于,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
10.根据权利要求9所述的系统,其特征在于,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726268.9A CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726268.9A CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729219A CN103729219A (zh) | 2014-04-16 |
CN103729219B true CN103729219B (zh) | 2017-07-18 |
Family
ID=50453303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310726268.9A Active CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729219B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159810B (zh) * | 2015-10-16 | 2019-05-24 | 合肥联宝信息技术有限公司 | 对计算机系统的bios进行测试的方法及装置 |
US10776524B2 (en) | 2016-01-14 | 2020-09-15 | Intel Corporation | Secure communication channel for system management mode |
CN105893833B (zh) * | 2016-03-31 | 2019-07-05 | 山东超越数控电子有限公司 | 一种用于固件安全管理的硬件接口 |
CN106095630A (zh) * | 2016-05-31 | 2016-11-09 | 合肥联宝信息技术有限公司 | 执行bios上电自检程序的方法 |
CN114090095B (zh) * | 2022-01-19 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种多路服务器中cpu的bios加载方法及相关组件 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086839B2 (en) * | 2008-12-30 | 2011-12-27 | Intel Corporation | Authentication for resume boot path |
-
2013
- 2013-12-25 CN CN201310726268.9A patent/CN103729219B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086839B2 (en) * | 2008-12-30 | 2011-12-27 | Intel Corporation | Authentication for resume boot path |
Non-Patent Citations (2)
Title |
---|
Vol2_DXE CIS_1_3;UEFI FORUM;《http://www.uefi.org/specifications》;20130329;第1-126页 * |
传统bios和UEFI bios启动流程分析;ymzhou117;《http://blog.csdn.net/ymzhou117/article/details/7085621》;20111219;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103729219A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729219B (zh) | 一种uefi bios架构方法及系统 | |
CN109992972B (zh) | 一种云环境内信任链的建立方法及系统 | |
CN100561433C (zh) | 嵌入式系统及其升级方法 | |
JP2002287978A5 (zh) | ||
CN103942069A (zh) | 一种基于X86平台Vxworks操作系统的快速启动优化方法 | |
WO2002065281A8 (en) | Method, system and computer program product for efficiently utilizing limited resources in a graphics device | |
JP2007206885A (ja) | コンピュータシステム及びシステム起動方法 | |
CN102279769B (zh) | 一种面向嵌入式Hypervisor 的中断虚拟化操作方法 | |
US20220237144A1 (en) | Baseboard management controller and construction method thereof | |
JP2010140240A (ja) | プロセッサ、マルチプロセッサ、及び、デバッグ方法 | |
CN104865904B (zh) | 一种面向多周期运算任务的无扰组态方法 | |
CN102253844B (zh) | 一种启动处理器的方法和设备 | |
JP2022051506A (ja) | 早期のディスプレイの初期化及び視覚化のためのブート処理の改善 | |
CN101241442A (zh) | 具有双开机程序代码区的计算机系统及其启动方法 | |
CN110308920B (zh) | 一种不影响正常运行的在轨修改星上产品软件的方法 | |
WO2016033941A1 (zh) | Boot在线升级装置及方法 | |
US20110106522A1 (en) | virtual platform for prototyping system-on-chip designs | |
CN109656758B (zh) | 用于异构双处理器系统芯片的调试方法及系统 | |
CN103019774A (zh) | 一种dsp处理器的动态重载方法 | |
US9471344B1 (en) | Hardware support for processing virtual machine instructions | |
CN103218250B (zh) | 一种处理器模拟方法 | |
CN104182271A (zh) | 一种基于申威处理器的虚拟化实现方法 | |
CN102799451B (zh) | Wince系统镜像构建方法和系统、wince系统镜像 | |
US20140244992A1 (en) | Extensible Firmware Interface External Graphic Card, Mainframe System, and Extensible Firmware Interface BIOS Booting Method | |
CN102520992B (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 |