CN104572165A - 一种基于飞腾服务器的uefi固件实现方法 - Google Patents

一种基于飞腾服务器的uefi固件实现方法 Download PDF

Info

Publication number
CN104572165A
CN104572165A CN201410112097.5A CN201410112097A CN104572165A CN 104572165 A CN104572165 A CN 104572165A CN 201410112097 A CN201410112097 A CN 201410112097A CN 104572165 A CN104572165 A CN 104572165A
Authority
CN
China
Prior art keywords
module
firmware
uefi
interface
internal memory
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.)
Granted
Application number
CN201410112097.5A
Other languages
English (en)
Other versions
CN104572165B (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.)
Kunlun Taike Beijing Technology Co ltd
Original Assignee
CETC Beijing Co
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 CETC Beijing Co filed Critical CETC Beijing Co
Priority to CN201410112097.5A priority Critical patent/CN104572165B/zh
Publication of CN104572165A publication Critical patent/CN104572165A/zh
Application granted granted Critical
Publication of CN104572165B publication Critical patent/CN104572165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于飞腾服务器的UEFI固件实现方法,属于计算机固件技术领域。固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层,硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。固件核心层建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理;设备协议层实现各种标准的工业规范;固件应用层实现固件的各项功能,如配置界面、系统监控、文件系统、操作系统引导等;本发明能够在飞腾服务器上实现出符合国际主流UEFI固件规范、可扩展性强、功能完善的固件产品,以支持飞腾服务器的正常启动和运行。

Description

一种基于飞腾服务器的UEFI固件实现方法
技术领域
本发明属于计算机固件技术领域,涉及一种基于飞腾处理器服务器计算机系统(以下简称飞腾服务器)的UEFI固件的实现方法。
背景技术
UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)是一种计算机固件(或称为BIOS)的接口规范,也是关于固件的最主要的工业标准。UEFI规范最初是面向Intel公司的Itanium和X86处理器进行制定的,但是UEFI规范本身是与处理器架构无关的,目前已经应用于X86、Itanium、ARM等处理器平台。符合UEFI规范的计算机固件(以下简称UEFI固件)相对于传统的固件有很多优越性,目前主流的X86商用计算机系统基本上都是采用了UEFI固件。
飞腾是由国防科学技术大学研制的国产通用中央处理器,采用SPARC精简指令集架构,实现了多核心、多线程,支持硬件虚拟化技术。飞腾处理器已形成多款型号产品,可应用于台式、便携式计算机以及服务器产品。目前应用于服务器计算机产品的飞腾处理器主要是FT1000A,FT1000A是一个SOC芯片,不仅包含处理器核心,还集成了多个外设控制器。
OBP(Open Boot PROM)是飞腾处理器平台上的固件,最初是由SUN公司于1989年提出。OBP符合IEEE1275标准,主要负责飞腾处理器平台上电自检、平台初始化和引导操作系统。由于飞腾处理器支持硬件虚拟化,所以在系统上电时首先运行一个虚拟机监控器Hypervisot,由Hypervisot实现硬件资源虚拟化和硬件资源管理,然后将控制权交给启动固件OBP。与UEFI固件相比,OBP存在很多不足,主要表现在:OBP是用Forth编写的,Forth语言是冷门语言,掌握这门语言的开发人员很少,造成开发难度很大,维护也很困难;OBP是基于SUN公司提供的开源代码来开发的,使用OBP的公司很少,缺乏产业链的广泛支持;OBP仅对板载驱动是Forth语言编写的外设进行支持,很难支持主流的外设。
发明内容
本发明的目的主要是为了解决上述现有技术的缺陷,提供一种基于飞腾服务器的UEFI固件的实现方法。根据这个方法,可以在飞腾服务器上实现出符合国际主流UEFI固件规范、可扩展性强、功能完善的固件产品,并且能完全替代OBP,以支持飞腾服务器的正常启动和运行。
一种基于飞腾服务器的UEFI固件的实现方法,固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层。
其中,硬件抽象层实现处理器、内存、外设控制器等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。其包括处理器驱动模块和外设驱动模块,处理器驱动模块完成处理器、内存的初始化工作,并提供访问处理器和内存的接口;外设驱动模块主要是主板上各种外设的驱动,如显卡、硬盘、键盘、USB设备、网卡等,每个外设会对应一个(或多个)驱动模块。对于基于FT1000A的硬件平台,外设驱动模块还要完成处理器中集成的外设控制器的初始化和资源分配工作。
固件核心层类似于操作系统的内核,建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理。其包括固件核心加载模块、固件核心模块和基础架构功能模块,固件核心加载模块负责加载固件核心模块,并为其准备运行环境,固件核心模块负责建立UEFI规范中的启动服务(Boot Service)和运行时服务(Runtime Service)表,加载、运行其他功能模块,管理各模块之间的交互,实现内存的管理,实现和维护时钟中断和事件机制,实现和维护固件应用的特权级机制,实现UEFI规范中定义的Protocol的管理机制,实现UEFI规范要求实现的其他机制和功能,如调试接口、压缩算法、变量存储/处理等。基础架构功能模块实现UEFI规范中的Architectural Protocol,包括多个功能模块,每个模块实现一个Architectural Protocol。每个Architectural Protocol包含一些基础服务接口,供固件中的其他功能模块调用。
设备协议层实现各种标准的工业规范,包括总线协议、外设接口等。其包括总线协议模块,实现各种总线协议,如PCI/PCIE、SATA、PATA、SCSI、USB、ISA、SMBUS、LPCBUS等。通常是一个模块实现一种总线协议,并通过UEFI规范中的Protocol机制“发布”这些总线的接口,这样其他模块就可以使用这些接口来访问总线。
固件应用层实现固件的各项功能,如配置界面、系统监控、文件系统、操作系统引导等;其包括设备扫描模块、人机界面模块、系统监控模块、服务器管理支持模块、IEEE1275支持模块、系统启动模块、内核加载模块和Shell模块,设备扫描模块枚举系统中的所有外部设备,如PCI/PCIE总线上的设备,为这些设备分配资源,并将设备与相应的外设驱动模块进行Connect(也即交给该设备驱动进行管理);人机界面模块位于显卡驱动模块之上,实现所有显示相关的接口,如设置显示模式、在特定位置打印字符串、显示图片、清屏等;系统监控模块实时检测处理器温度、系统电压和风扇转速,根据温度值来调整风扇的转速,允许用户设定温度阈值,当温度过高时,进行自动关机;服务器管理支持模块主要实现对服务器中的BMC管理单元和KVM单元的支持;IEEE1275支持模块实现IEEE1275规范中定义的固件与操作系统的函数接口、数据结构,供操作系统在启动和运行阶段调用;系统启动模块提供一个图形化的用户配置界面,用户通过菜单操作的方式,查看系统信息和对系统进行配置。最后根据用户的选择,从存储设备启动操作系统;文件系统模块实现FAT/FAT32、EXT2/3/4和ISO9660文件系统,支持对文件的读取操作;内核加载模块在系统启动的最后阶段,这个模块从硬盘、U盘、光盘等存储介质中将内核文件(或内核加载器)加载到内存中,并为内核文件准备必要的参数,然后跳转到内核(或内核加载器)的入口点执行,这样就将控制权交给了操作系统;Shell模块Shell是UEFI固件提供的一个命令行环境,基于UEFI固件中提供的大量接口服务,可以开发出Shell下的多种固件应用程序。
本发明的基于飞腾服务器的UEFI固件的具体运行步骤如下:
(1)初始化处理器、内存,建立起固件运行的基本环境;
(2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块;
(3)建立UEFI固件的基础服务;
(4)加载UEFI固件功能模块,包括基础架构功能模块、设备协议模块;
(5)扫描设备并为设备分配系统资源,加载设备驱动模块,完成设备初始化;
(6)加载执行固件应用模块;
(7)运行配置界面;
(8)从存储设备加载操作系统。
上述步骤中,步骤(1)中执行处理器驱动模块。在步骤(1)执行之前,系统中的虚拟机监控器Hypervisor已经实现了物理处理器和内存的初始化,此时处理器驱动模块只需要对虚拟的处理器、内存进行初始化,进行参数的配置,以及提供访问CPU、Cache、内存等部件的接口。
上述步骤中,步骤(2)中执行固件核心加载模块。步骤(1)执行完成后,系统内存已经初始化好,此时固件代码可以在内存中运行以加快运行速度;而且可以用C语言来实现固件代码,加快开发速度。固件中包含的功能模块较多,而FLASH芯片的容量有限,一般需要将存放功能模块的固件卷进行压缩,固件核心加载模块负责从FLASH中将压缩的固件卷复制到内存中,并进行解压;解压成功后,在内存中创建HOB(Hand-Off Block)数据表,存放处理器、内存、FLASH等系统信息,提供给后续的固件模块使用;最后,固件核心加载模块将控制权交给固件核心模块。
上述步骤中,步骤(3)中执行固件核心模块。固件核心模块首先初始化UEFI的系统服务,为后续的功能模块的加载、运行做准备。主要是完成UEFI系统表、UEFI启动服务表和UEFI运行时服务表的初始化,具体服务包括代码调试、内存管理、UEFI镜像管理、HOB、UEFI时钟、FLASH访问、解压缩、固件卷解析、UEFI事件、任务优先级、UEFI Protocol管理、UEFI变量存取等。系统服务表存放在内存的特定区域,UEFI固件中的所有功能模块都可以调用这些系统服务。
上述步骤中,步骤(4)中固件核心模块加载固件的功能模块。固件核心模块通过检索固件卷,依次查找其中的功能模块,并将其加载到内存中。每个功能模块都被编译成一个PE/ELF格式的可执行镜像,固件核心模块需要解析功能模块镜像,然后加载到内存的特定地址处,并跳转到入口函数。功能模块的入口函数执行完成后,通常会返回到固件核心模块,固件核心模块继续进行下一个功能模块的加载。
在步骤(4)中被加载的模块包括基础架构功能模块、设备协议模块。其中,基础架构功能模块主要功能是实现UEFI规范中的Architectural Protocol,主要包括:Boot Device Selection(BDS)、CPU、Metronome、Monotonic Counter、RealTimeClock、Runtime、Security、Status Code、Timer、Variable、Variable Write、WatchdogTimer,每个Architectural Protocol由一个模块来实现;设备协议层模块主要实现访问PCI/PCIE、SATA、PATA、SCSI、USB、ISA、SMBUS、LPCBUS等总线的函数接口,并封装在Protocol中供其他功能模块调用,通常是一个模块实现一种总线协议。
上述步骤中,步骤(5)中完成设备的初始工作。固件核心模块加载设备驱动模块,实现主板上外设的初始化和实现访问外设的函数接口,包括南北桥芯片、显卡、SATA/IDE控制器、USB控制器、SMBUS控制器、LPC控制器、键盘、网卡等。通常由一个模块实现一种设备驱动。另外,在这个阶段由设备扫描模块扫描系统中的所有外设,并为外设分配内存、IO和中断资源,这样外设在操作系统下才能正常工作。
上述步骤中,步骤(6)中固件核心模块加载固件卷中的固件应用模块,并实现对应的固件功能。包括显示模块、系统监控模块、服务器管理支持模块、IEEE1275支持模块、文件系统模块、内核加载模块、Shell模块、系统启动模块。最后,固件核心模块将控制权交给系统启动模块,准备启动操作系统。
上述步骤中,步骤(7)中系统启动模块通过调用固件核心模块和其他功能模块提供的服务接口,显示出图形配置界面作为人机交互界面。在这个阶段,固件根据用户的操作来进行下一步的工作,包括提供系统信息的显示和系统参数的配置,以及选择要启动的设备,包括硬盘、光盘、U盘、命令行等。用户通过特定按键退出配置界面进入到下一个执行步骤。
上述步骤中,步骤(8)中实现操作系统的启动。根据用户配置的启动顺序,系统启动模块依次尝试从硬盘、光盘、U盘等介质将操作系统内核文件(或内核加载器)加载到内存,并为内核准备必要的启动参数,然后将控制权交给内核(或内核加载器),从而完成系统的启动工作。操作系统启动完成后,可调用固件中实现的IEEE1275接口和数据结构。
有益效果:
1、本发明的方法符合国际主流的UEFI和PI固件规范,可利用UEFI联盟提供的开源代码资源快速实现固件;很多外设板卡厂商都提供基于UEFI规范的驱动,也可大大加快固件开发的进度;固件层可以提供更多的设备驱动和丰富的固件功能。另外,UEFI固件支持主要的计算机工业标准,如目前飞腾处理器还不支持的ACPI(高级配置和电源管理接口)规范,这样采用本发明设计的固件可以方便地增加对这些规范的支持。
2、本发明设计的UEFI固件的重要特点是高度模块化,固件所要实现的功能被分解成很多子功能,每个子功能由单独的模块来实现,并由一个核心模块来加载和管理这些功能模块。因此可以通过增删模块来方便地定制固件的功能。
3、本发明设计的UEFI固件可以实现对主流外设的支持,解决飞腾处理器平台传统固件OBP在外设兼容支持方面的缺陷,对于推动飞腾处理器的产业化带来好处。
附图说明
图1是基于飞腾服务器的UEFI固件的架构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
如附图1表示,下面以扬州万方公司设计的一款型号为WANGFANG-FT1000A-SERVER-V1.4的服务器主板为例,来介绍本发明描述的UEFI固件的具体实施方式。主要包括以下步骤:
(1)实现STU阶段的功能模块,包括两个模块,这个两个模块在编译以后将依次被放到FLASH芯片的开始位置,并在系统上电后依次被执行。包括:
(1.1)创建一个Start模块,即处理器驱动模块。根据飞腾FT1000A处理器手册实现处理器、Cache(高速缓存)、内存、地址窗口、TLB(旁路转换缓冲)等初始化,实现MCU(内存控制器)、SMBUS和内存的初始化,并提供访问CPU、Cache、内存等部件的接口;
(1.2)创建一个Sec模块。这个模块的实现的功能包括在内存创建一些存放处理器、内存信息的数据结构,将FLASH芯片中的功能模块解压到内存中,最后加载执行固件核心模块DxeCore。
(2)实现固件核心模块DxeCore。要实现的功能主要包括:实现UEFI规范中定义的启动服务和运行时服务表,加载、运行其他功能模块,管理各模块之间的交互,实现内存的管理,实现和维护时钟中断和事件机制,实现和维护固件应用的特权级机制,实现UEFI规范中定义的Protocol的管理机制,实现基础函数库,以及调试接口、压缩算法、变量存储/处理等。
(3)实现Architectural Protocol,包括Variable,Variable Write,Timer,CPU,Metronome,Monotonic Counter,Status Code,Watchdog Timer,RTC,BDS。一个模块实现一种Architectural Protocol。
(4)实现外设驱动模块。包括:
(4.1)实现芯片组的驱动模块。根据芯片组手册实现对AMD RS780北桥芯片、AMD SB710南桥芯片的初始化,以及南桥芯片中PCI总线、USB、SATA/IDE、LPC/SMBUS总线、HD Audio控制器的初始化。
(4.2)实现外设驱动模块,包括显卡驱动、USB存储设备驱动、PS2键盘驱动、USB键盘驱动、SATA设备驱动、IDE设备驱动、网卡驱动、时钟中断驱动。
(4.3)实现外设枚举模块,枚举PCI/PCIE总线上的设备,并为设备分配IO、内存和中断资源。
(5)实现总线驱动模块,包括PCI/PCIE、SATA、PATA、SCSI、USB、ISA、SMBUS、LPCBUS,一个模块实现一种总线协议。
(6)实现固件应用层模块。主要包括:
(6.1)实现图形界面模块。可实现一个图形化的配置界面或命令行环境,支持用户查看处理器型号和频率、内存容量和频率、系统时间、启动顺序、外设列表等,并允许用户对系统时间、启动顺序进行配置。
(6.2)实现IEEE1275支持模块,根据IEEE Std.1275-1994和IEEE Std.1275.1-1994规范,建立操作系统启动和运行所需要的设备树(Device Tree),实现客户程序接口(Client Interface)、设备接口(Device Interface)等。
(6.3)实现内核引导模块,在内存中创建数据结构以存放操作系统需要的运行参数,并根据用户的配置,从硬盘、U盘、光盘的固定扇区中读取操作系统内核加载器SILO(Sparc Improved boot LOader)到内存中,最后将控制权交给SILO,由SILO完成操作系统内核的加载。
(6.4)实现系统启动模块,其功能包括:加载配置界面,调用内核引导模块中的接口实现操作系统的加载。
(6.5)实现Shell模块,用户可以通过在配置界面中设置启动顺序来启动到Shell命令行环境,Shell提供多个命令实现系统信息的查看、设备参数配置、访问存储介质中的文件、设备管理和测试、操作系统启动等。
在上述步骤中,对于与具体硬件平台相关的模块,对于本例来说主要是FT1000A处理器,需要根据硬件的用户手册或参考厂家的开源代码来进行开发;对于与硬件平台无关的通用模块,如DxeCore模块、Architectural Protocol模块、总线协议、SATA/IDE设备驱动、USB存储设备驱动、键盘驱动、文件系统、BDS模块等,可以采用EDK II中提供的模块和代码;对于固件的功能模块,如配置界面、操作系统加载等,需要根据具体需求进行开发;对于显卡驱动,由于显卡上的OPROM(Option ROM,显卡厂家提供的驱动)是X86指令集的,在SPARC指令集的飞腾处理器上无法执行,所以在固件中采用一个开源的X86模拟器模块来解释执行显卡的OPROM,实现对显卡的初始化。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于飞腾服务器的UEFI固件实现方法,其特征是,所述固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层;其中,硬件抽象层实现处理器、内存、外设控制器等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口;其包括处理器驱动模块和外设驱动模块,固件核心层类似于操作系统的内核,建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理;其包括固件核心加载模块、固件核心模块和基础架构功能模块,设备协议层实现各种标准的工业规范,包括总线协议、外设接口等;其包括总线协议模块,实现各种总线协议,固件应用层实现固件的各项功能,如配置界面、系统监控、文件系统、操作系统引导等;其包括设备扫描模块、人机界面模块、系统监控模块、服务器管理支持模块、IEEE1275支持模块、系统启动模块、内核加载模块和Shell模块;
所述固件的具体运行步骤如下:
(1)初始化处理器、内存,建立起固件运行的基本环境;
(2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块;
(3)建立UEFI固件的基础服务;
(4)加载UEFI固件功能模块,包括基础架构功能模块、设备协议模块;
(5)扫描设备并为设备分配系统资源,加载设备驱动模块,完成设备初始化;
(6)加载执行固件应用模块;
(7)运行配置界面;
(8)从存储设备加载操作系统。
2.如权利要求1所述的基于飞腾服务器的UEFI固件实现方法,其特征是,所述步骤(1)中执行处理器驱动模块;在步骤(1)执行之前,系统中的虚拟机监控器Hypervisor已经实现了物理处理器和内存的初始化,此时处理器驱动模块只需要对虚拟的处理器、内存进行初始化,进行参数的配置,以及提供访问CPU、Cache、内存等部件的接口;
上述步骤中,步骤(2)中执行固件核心加载模块;步骤(1)执行完成后,系统内存已经初始化好,此时固件代码可以在内存中运行以加快运行速度;而且可以用C语言来实现固件代码,加快开发速度;固件中包含的功能模块较多,而FLASH芯片的容量有限,一般需要将存放功能模块的固件卷进行压缩,固件核心加载模块负责从FLASH中将压缩的固件卷复制到内存中,并进行解压;解压成功后,在内存中创建HOB(Hand-Off Block)数据表,存放处理器、内存、FLASH等系统信息,提供给后续的固件模块使用;最后,固件核心加载模块将控制权交给固件核心模块;
上述步骤中,步骤(3)中执行固件核心模块;固件核心模块首先初始化UEFI的系统服务,为后续的功能模块的加载、运行做准备;主要是完成UEFI系统表、UEFI启动服务表和UEFI运行时服务表的初始化,具体服务包括代码调试、内存管理、UEFI镜像管理、HOB、UEFI时钟、FLASH访问、解压缩、固件卷解析、UEFI事件、任务优先级、UEFI Protocol管理、UEFI变量存取等;系统服务表存放在内存的特定区域,UEFI固件中的所有功能模块都可以调用这些系统服务;
上述步骤中,步骤(4)中固件核心模块加载固件的功能模块;固件核心模块通过检索固件卷,依次查找其中的功能模块,并将其加载到内存中;每个功能模块都被编译成一个PE/ELF格式的可执行镜像,固件核心模块需要解析功能模块镜像,然后加载到内存的特定地址处,并跳转到入口函数;功能模块的入口函数执行完成后,通常会返回到固件核心模块,固件核心模块继续进行下一个功能模块的加载;
在步骤(4)中被加载的模块包括基础架构功能模块、设备协议模块;其中,基础架构功能模块主要功能是实现UEFI规范中的Architectural Protocol,主要包括:Boot Device Selection(BDS)、CPU、Metronome、Monotonic Counter、Real TimeClock、Runtime、Security、Status Code、Timer、Variable、Variable Write、WatchdogTimer,每个Architectural Protocol由一个模块来实现;设备协议层模块主要实现访问PCI/PCIE、SATA、PATA、SCSI、USB、ISA、SMBUS、LPCBUS等总线的函数接口,并封装在Protocol中供其他功能模块调用,通常是一个模块实现一种总线协议;
上述步骤中,步骤(5)中完成设备的初始工作;固件核心模块加载设备驱动模块,实现主板上外设的初始化和实现访问外设的函数接口,包括南北桥芯片、显卡、SATA/IDE控制器、USB控制器、SMBUS控制器、LPC控制器、键盘、网卡等;通常由一个模块实现一种设备驱动;另外,在这个阶段由设备扫描模块扫描系统中的所有外设,并为外设分配内存、IO和中断资源,这样外设在操作系统下才能正常工作;
上述步骤中,步骤(6)中固件核心模块加载固件卷中的固件应用模块,并实现对应的固件功能;包括显示模块、系统监控模块、服务器管理支持模块、IEEE1275支持模块、文件系统模块、内核加载模块、Shell模块、系统启动模块;最后,固件核心模块将控制权交给系统启动模块,准备启动操作系统;
上述步骤中,步骤(7)中系统启动模块通过调用固件核心模块和其他功能模块提供的服务接口,显示出图形配置界面作为人机交互界面;在这个阶段,固件根据用户的操作来进行下一步的工作,包括提供系统信息的显示和系统参数的配置,以及选择要启动的设备,包括硬盘、光盘、U盘、命令行等;用户通过特定按键退出配置界面进入到下一个执行步骤;
上述步骤中,步骤(8)中实现操作系统的启动;根据用户配置的启动顺序,系统启动模块依次尝试从硬盘、光盘、U盘等介质将操作系统内核文件(或内核加载器)加载到内存,并为内核准备必要的启动参数,然后将控制权交给内核(或内核加载器),从而完成系统的启动工作;操作系统启动完成后,可调用固件中实现的IEEE1275接口和数据结构。
CN201410112097.5A 2014-03-21 2014-03-21 一种基于飞腾服务器的uefi固件实现方法 Active CN104572165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410112097.5A CN104572165B (zh) 2014-03-21 2014-03-21 一种基于飞腾服务器的uefi固件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410112097.5A CN104572165B (zh) 2014-03-21 2014-03-21 一种基于飞腾服务器的uefi固件实现方法

Publications (2)

Publication Number Publication Date
CN104572165A true CN104572165A (zh) 2015-04-29
CN104572165B CN104572165B (zh) 2017-10-27

Family

ID=53088327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410112097.5A Active CN104572165B (zh) 2014-03-21 2014-03-21 一种基于飞腾服务器的uefi固件实现方法

Country Status (1)

Country Link
CN (1) CN104572165B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909400A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于笔记本计算机的uefi固件实现方法
CN106909399A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器计算机的uefi固件实现方法
CN106951268A (zh) * 2017-03-31 2017-07-14 山东超越数控电子有限公司 一种申威平台支持NVMe硬盘启动的实现方法
CN109144543A (zh) * 2018-08-09 2019-01-04 郑州云海信息技术有限公司 一种基于EFI环境的验证VMware系统BIOS兼容性的方法
CN109614156A (zh) * 2018-12-26 2019-04-12 贵州华芯通半导体技术有限公司 支持启动类外部设备的驱动的方法、装置和系统
CN109725943A (zh) * 2018-12-27 2019-05-07 龙芯中科技术有限公司 一种程序跳转方法、装置、电子设备及存储介质
CN110837376A (zh) * 2019-10-28 2020-02-25 天津七一二通信广播股份有限公司 用于无线平面调车系统设备的linux系统及引入方法
CN110851138A (zh) * 2019-11-06 2020-02-28 山东超越数控电子股份有限公司 一种将内核和应用分离的bmc软件开发方法
CN110908785A (zh) * 2019-11-16 2020-03-24 湖南智领通信科技有限公司 一种基于优先级的数据驱动的扁平化设备驱动方法
WO2022022199A1 (zh) * 2020-07-28 2022-02-03 Oppo广东移动通信有限公司 驱动系统、信息处理方法、电子设备及存储介质
CN114035842A (zh) * 2022-01-07 2022-02-11 飞腾信息技术有限公司 固件配置方法、计算系统配置方法、计算装置以及设备
CN114489587A (zh) * 2022-01-28 2022-05-13 山东思科赛德矿业安全工程有限公司 一种基于分层架构思想的单片机程序构建方法
CN117520253A (zh) * 2024-01-08 2024-02-06 长城信息股份有限公司 一种飞腾平台清除cmos的方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430642A (zh) * 2007-11-09 2009-05-13 中国长城计算机深圳股份有限公司 一种应用于uefi的操作界面的实现方法及系统
US20120102306A1 (en) * 2010-10-22 2012-04-26 Lan Wang System for initiating execution of bios
CN103034510A (zh) * 2012-10-26 2013-04-10 中国航天科工集团第二研究院七〇六所 可按需要动态调整的uefi bios快速安全启动方法
CN103207797A (zh) * 2013-03-15 2013-07-17 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430642A (zh) * 2007-11-09 2009-05-13 中国长城计算机深圳股份有限公司 一种应用于uefi的操作界面的实现方法及系统
US20120102306A1 (en) * 2010-10-22 2012-04-26 Lan Wang System for initiating execution of bios
CN103034510A (zh) * 2012-10-26 2013-04-10 中国航天科工集团第二研究院七〇六所 可按需要动态调整的uefi bios快速安全启动方法
CN103207797A (zh) * 2013-03-15 2013-07-17 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909399A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器计算机的uefi固件实现方法
CN106909400A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于笔记本计算机的uefi固件实现方法
CN106951268A (zh) * 2017-03-31 2017-07-14 山东超越数控电子有限公司 一种申威平台支持NVMe硬盘启动的实现方法
CN109144543A (zh) * 2018-08-09 2019-01-04 郑州云海信息技术有限公司 一种基于EFI环境的验证VMware系统BIOS兼容性的方法
CN109614156A (zh) * 2018-12-26 2019-04-12 贵州华芯通半导体技术有限公司 支持启动类外部设备的驱动的方法、装置和系统
CN109614156B (zh) * 2018-12-26 2021-10-15 贵州华芯通半导体技术有限公司 支持启动类外部设备的驱动的方法、装置和系统
CN109725943B (zh) * 2018-12-27 2022-05-17 龙芯中科技术股份有限公司 一种程序跳转方法、装置、电子设备及存储介质
CN109725943A (zh) * 2018-12-27 2019-05-07 龙芯中科技术有限公司 一种程序跳转方法、装置、电子设备及存储介质
CN110837376A (zh) * 2019-10-28 2020-02-25 天津七一二通信广播股份有限公司 用于无线平面调车系统设备的linux系统及引入方法
CN110851138A (zh) * 2019-11-06 2020-02-28 山东超越数控电子股份有限公司 一种将内核和应用分离的bmc软件开发方法
CN110908785A (zh) * 2019-11-16 2020-03-24 湖南智领通信科技有限公司 一种基于优先级的数据驱动的扁平化设备驱动方法
WO2022022199A1 (zh) * 2020-07-28 2022-02-03 Oppo广东移动通信有限公司 驱动系统、信息处理方法、电子设备及存储介质
CN114035842A (zh) * 2022-01-07 2022-02-11 飞腾信息技术有限公司 固件配置方法、计算系统配置方法、计算装置以及设备
CN114489587A (zh) * 2022-01-28 2022-05-13 山东思科赛德矿业安全工程有限公司 一种基于分层架构思想的单片机程序构建方法
CN117520253A (zh) * 2024-01-08 2024-02-06 长城信息股份有限公司 一种飞腾平台清除cmos的方法、电子设备及存储介质
CN117520253B (zh) * 2024-01-08 2024-04-19 长城信息股份有限公司 一种飞腾平台清除cmos的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN104572165B (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN104572165B (zh) 一种基于飞腾服务器的uefi固件实现方法
CN104572164A (zh) 一种基于飞腾便携式计算机的uefi固件实现方法
CN104572061A (zh) 一种基于龙芯服务器的uefi固件实现方法
US9880867B2 (en) Method and subsystem for data exchange between a guest operating system and a virtualization layer
CN104572161B (zh) 一种基于龙芯便携式计算机的uefi固件实现方法
CN106445576B (zh) 主机板及其计算机实现方法及非暂态计算机可读储存装置
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US7584374B2 (en) Driver/variable cache and batch reading system and method for fast resume
CN104572163A (zh) 一种基于龙芯台式计算机的uefi固件实现方法
US20210334195A1 (en) Verifying a software or firmware update using a container before deploying to a client
US20070038996A1 (en) Remote I/O for virtualized systems
CN106909399A (zh) 一种基于服务器计算机的uefi固件实现方法
CN106909349A (zh) 一种基于服务器的uefi固件实现方法
CN104572162A (zh) 一种基于龙芯手持式计算机的uefi固件实现方法
CN103793260A (zh) 一种平台虚拟化系统
US20130159689A1 (en) Method and apparatus for initializing embedded device
CN106909400A (zh) 一种基于笔记本计算机的uefi固件实现方法
CN104572166A (zh) 一种基于飞腾台式计算机的uefi固件实现方法
CN106909346A (zh) 一种基于一体计算机的uefi固件实现方法
CN106909347A (zh) 一种便携式计算机的uefi固件实现方法
CN106909345A (zh) 一种基于台式计算机的uefi固件实现方法
Fornaeus Device hypervisors
Campbell et al. An introduction to virtualization
US11915029B2 (en) System and method of managing available memory of an information handling system

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
CP03 Change of name, title or address

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee after: CLP Technology (Beijing) Co.,Ltd.

Address before: 100083 13th floor, Taiji building, 211 North Fourth Ring Middle Road, Beijing

Patentee before: CETC (BEIJING) Co.,Ltd.

CP03 Change of name, title or address
CP01 Change in the name or title of a patent holder

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee after: Kunlun Taike (Beijing) Technology Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee before: CLP Technology (Beijing) Co.,Ltd.

CP01 Change in the name or title of a patent holder