CN104572061A - 一种基于龙芯服务器的uefi固件实现方法 - Google Patents

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

Info

Publication number
CN104572061A
CN104572061A CN201410112037.3A CN201410112037A CN104572061A CN 104572061 A CN104572061 A CN 104572061A CN 201410112037 A CN201410112037 A CN 201410112037A CN 104572061 A CN104572061 A CN 104572061A
Authority
CN
China
Prior art keywords
firmware
module
uefi
internal memory
initialization
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.)
Pending
Application number
CN201410112037.3A
Other languages
English (en)
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.)
CETC Beijing Co
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 CN201410112037.3A priority Critical patent/CN104572061A/zh
Publication of CN104572061A publication Critical patent/CN104572061A/zh
Pending legal-status Critical Current

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固件。
龙芯(Loongson)是由中国科学院计算所研制的国产通用中央处理器,采用MIPS精简指令集架构。龙芯处理器已形成一系列产品,分别可应用于嵌入式、台式、便携式计算机以及服务器产品。目前应用于服务器产品的龙芯处理器主要是龙芯3A和龙芯3B。
PMON是一款开源固件,最初是为LSI Logic MIPS R3000评估板而设计,后来成为MIPS领域评估板和开发系统的通用固件。官方的PMON固件已经停止维护与发展,最新的PMON2000是PMON的非官方后继版本。龙芯厂商采用PMON2000作为调试处理器的固件,并应用在龙芯服务器解决方案中。但PMON与常规的UEFI计算机固件相比存在很多不足,主要表现在:PMON项目在很多年前就已经停止更新,在计算机工业界很少有厂家使用PMON或对其进行支持,因此PMON无法进行规范化和得到发展;不像UEFI固件支持最新的计算机技术,PMON代码对很多技术规范都不支持,无法实现对一些常见功能的支持,比如ACPI(目前最为通用的电源管理技术)、GRUB(目前最为通用的操作系统内核加载器)等;与UEFI固件相比,PMON没有采用模块化方法进行设计实现,可扩展性不强,开发维护也不方便。
发明内容
本发明的目的主要是为了解决上述现有技术的缺陷,提供一种基于龙芯服务器的UEFI固件的实现方法。根据这个方法,可以在龙芯服务器上实现出符合国际主流UEFI固件规范、可扩展性强、功能完善的固件产品,以支持龙芯服务器的正常启动和运行。
一种基于龙芯服务器的UEFI固件的实现方法,固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层。
其中,硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。其包括处理器驱动模块、芯片组驱动模块和外设驱动模块,处理器驱动模块实现对多处理器初始化的支持,完成内存的初始化,并提供访问处理器和内存的接口;芯片组驱动模块主要完成龙芯服务器硬件平台中南北桥芯片的初始化工作,包括桥片本身和各个外设控制器的初始化和资源分配工作,并提供访问南北桥的接口;外设驱动模块主要是主板上各种外设的驱动,如显卡、硬盘、键盘、USB设备、网卡等,每个外设会对应一个(或多个)驱动模块。
固件核心层类似于操作系统的内核,建立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机制“发布”这些总线的接口,这样其他模块就可以使用这些接口来访问总线;网络协议栈模块实现网络协议栈,如TCP/IP、SNP、DHCP、TFTP等,这样其他模块可以基于这些协议栈来实现网络相关的功能。
固件应用层实现固件的各项功能,如配置界面、系统监控、文件系统、操作系统引导等,其包括设备扫描模块、人机界面显示模块、系统监控模块、服务器管理支持模块、系统启动模块、文件系统模块、内核加载模块、运行时模块和Shell模块,设备扫描模块枚举系统中的所有外部设备,如PCI/PCIE总线上的设备,为这些设备分配资源,并将设备与相应的外设驱动模块进行Connect(也即交给该设备驱动进行管理);人机界面显示模块位于显卡驱动模块之上,实现所有显示相关的接口,如设置显示模式、在特定位置打印字符串、显示图片、清屏等;系统监控模块实时检测处理器温度、系统电压和风扇转速,根据温度值来调整风扇的转速,允许用户设定温度阈值,当温度过高时,进行自动关机;服务器管理支持模块主要实现对服务器中的BMC管理单元和KVM单元的支持;系统启动模块提供一个图形化的用户配置界面,用户通过菜单操作的方式,查看系统信息和对系统进行配置。最后根据用户的选择,从存储设备启动操作系统;文件系统模块实现FAT/FAT32、EXT2/3/4和ISO9660文件系统,支持对文件的读取操作;内核加载模块在系统启动的最后阶段,这个模块从硬盘、U盘、光盘等存储介质中将内核文件加载到内存中,并为内核文件准备必要的参数,然后跳转到内核的入口点执行,这样就将控制权交给了操作系统;运行时模块实现了UEFI规范定义的供操作系统在其运行阶段调用的运行时(Runtime)接口,以及龙芯处理器平台的操作系统与固件定义的一些接口,如系统重启、关机等;Shell模块Shell是UEFI固件提供的一个命令行环境,基于UEFI固件中提供的大量接口服务,可以开发出Shell下的多种固件应用程序。
本发明的基于龙芯服务器的UEFI固件的具体运行步骤如下:
(1)初始化处理器、内存,建立起固件运行的基本环境;
(2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块;
(3)建立UEFI固件的基础服务;
(4)加载UEFI固件功能模块,包括基础架构功能模块、设备协议模块;
(5)扫描设备并为设备分配系统资源,加载设备驱动模块,完成设备初始化;
(6)加载执行固件应用模块;
(7)运行配置界面;
(8)从存储设备加载操作系统。
上述步骤中,步骤(1)中执行处理器驱动模块。处理器驱动模块采用MIPS汇编语言实现,是系统上电后首先执行的模块,此时内存还未完成初始化,所以这个模块直接在FLASH芯片中运行。处理器驱动模块实现龙芯3A/3B处理器、Cache(高速缓存)、内存、TLB(旁路转换缓冲)等初始化,实现MCU(内存控制器)、SMBUS和内存的初始化,配置内存地址窗口,并提供访问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中供其他功能模块调用,通常是一个模块实现一种总线协议。另外,还包括实现TCP/IP网络协议栈的功能模块;
上述步骤中,步骤(5)中完成设备的初始工作。固件核心模块加载设备驱动模块,实现主板上外设的初始化和实现访问外设的函数接口,包括南北桥芯片、显卡、SATA/IDE控制器、USB控制器、SMBUS控制器、LPC控制器、键盘、网卡等。通常由一个模块实现一种设备驱动。另外,在这个阶段由设备扫描模块扫描系统中的所有外设,并为外设分配内存、IO和中断资源,这样外设在操作系统下才能正常工作。
上述步骤中,步骤(6)中固件核心模块加载固件卷中的固件应用模块,并实现对应的固件功能。包括显示模块、系统监控模块、服务器管理支持模块、文件系统模块、内核加载模块、运行时模块、Shell模块、系统启动模块。最后,固件核心模块将控制权交给系统启动模块,准备启动操作系统。
上述步骤中,步骤(7)中系统启动模块通过调用件核心模块和其他功能模块提供的服务接口,显示出图形配置界面作为人机交互界面。在这个阶段,固件根据用户的操作来进行下一步的工作,包括提供系统信息的显示和系统参数的配置,以及选择要启动的设备,包括硬盘、光盘、U盘、网络、命令行等。用户通过特定按键退出配置界面进入到下一个执行步骤。
上述步骤中,步骤(8)中实现操作系统的启动。根据用户配置的启动顺序,系统启动模块依次尝试从硬盘、光盘、U盘、网络等介质将操作系统内核文件加载到内存,并为内核准备必要的启动参数,然后将控制权交给内核,从而完成系统的启动工作。操作系统启动完成后,仍然可调用固件中运行时模块提供的少量的函数,包括系统重启、关机等。
有益效果:
1、本发明的方法符合国际主流的UEFI和PI固件规范,可利用UEFI联盟提供的开源代码资源快速实现固件;很多外设板卡厂商都提供基于UEFI规范的驱动,也可大大加快固件开发的进度。另外,UEFI固件支持主要的计算机工业标准,如目前龙芯处理器还不支持的ACPI(高级配置和电源管理接口)规范,这样采用本发明设计的固件可以方便地增加对这些规范的支持。
2、本发明设计的UEFI固件的重要特点是高度模块化,固件所要实现的功能被分解成很多子功能,每个子功能由单独的模块来实现,并由一个核心模块来加载和管理这些功能模块。因此可以通过增删模块来方便地定制固件的功能。
附图说明
图1是基于龙芯服务器的UEFI固件的架构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
如附图1表示,下面以中科龙梦公司设计的一款型号为LS3A-2WAY-SERVER-V0.2(P3A1104MO22YL1)的龙芯开发板为例,来介绍本发明描述的UEFI固件的具体实施方式。主要包括以下步骤:
(1)实现STU阶段的功能模块,包括两个模块,这个两个模块在编译以后将依次被放到FLASH芯片的开始位置,并在系统上电后依次被执行。包括:
(1.1)创建一个Start模块,即处理器驱动模块。根据龙芯3A处理器手册实现对双处理器、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)实现文件系统模块,支持对FAT/FAT32、EXT2/3/4和ISO9660文件系统的读操作;
(6.3)实现内核引导模块,在内存中创建数据结构以存放操作系统需要的运行参数,并根据用户的配置,从硬盘、U盘、光盘或网络加载操作系统内核文件到内存中,最后将控制权交给操作系统内核;
(6.4)实现系统启动模块,其功能包括:加载配置界面,实现操作系统的加载。
(6.5)实现Shell模块,用户可以通过在配置界面中设置启动顺序来启动到Shell命令行环境,Shell提供多个命令实现系统信息的查看、设备参数配置、访问存储介质中的文件、设备管理和测试、操作系统启动等。
在上述步骤中,对于与具体硬件平台相关的模块,如龙芯3A处理器、AMDRS780+SB710芯片组,一般需要根据硬件的用户手册或参考厂家的开源代码来进行开发;对于与硬件平台无关的通用模块,如DxeCore模块、ArchitecturalProtocol模块、总线协议、网络协议栈、SATA/IDE设备驱动、USB存储设备驱动、键盘驱动、文件系统、BDS模块等,可以采用EDK II中提供的模块和代码;对于固件的功能模块,如配置界面、操作系统加载等,需要根据具体需求进行开发;对于显卡驱动,由于显卡上的OPROM(Option ROM,显卡厂家提供的驱动)是X86指令集的,在MIPS指令集的龙芯处理器上无法执行,所以在固件中采用一个开源的X86模拟器模块来解释执行显卡的OPROM,实现对显卡的初始化。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410112037.3A CN104572061A (zh) 2014-03-21 2014-03-21 一种基于龙芯服务器的uefi固件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410112037.3A CN104572061A (zh) 2014-03-21 2014-03-21 一种基于龙芯服务器的uefi固件实现方法

Publications (1)

Publication Number Publication Date
CN104572061A true CN104572061A (zh) 2015-04-29

Family

ID=53088234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410112037.3A Pending CN104572061A (zh) 2014-03-21 2014-03-21 一种基于龙芯服务器的uefi固件实现方法

Country Status (1)

Country Link
CN (1) CN104572061A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815086A (zh) * 2017-01-13 2017-06-09 邦彦技术股份有限公司 一种基于龙芯平台的通信控制框架
CN106909349A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器的uefi固件实现方法
CN106909399A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器计算机的uefi固件实现方法
CN107450926A (zh) * 2017-07-31 2017-12-08 郑州云海信息技术有限公司 一种存储设备的硬件外设管理方法及装置
CN107735769A (zh) * 2015-06-26 2018-02-23 英特尔公司 固件相关事件通知
CN108108198A (zh) * 2017-12-15 2018-06-01 联想(北京)有限公司 用于计算机系统的方法及系统
CN111258661A (zh) * 2020-01-13 2020-06-09 山东超越数控电子股份有限公司 一种基于uefi scsi的raid卡驱动设计方法
CN112068859A (zh) * 2020-07-31 2020-12-11 江苏航天龙梦信息技术有限公司 一种基于网络启动批量更新固件的方法
CN112231051A (zh) * 2020-09-28 2021-01-15 苏州浪潮智能科技有限公司 一种arm系统架构uefi引导文件管理方法及装置
CN114579495A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于飞腾处理器的全国产通用计算机固件的实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101373459A (zh) * 2008-10-27 2009-02-25 成都市华为赛门铁克科技有限公司 一种制作固态硬盘的方法、系统及装置
CN101408847A (zh) * 2008-11-27 2009-04-15 成都市华为赛门铁克科技有限公司 一种固件加载方法、系统和装置
US20120102306A1 (en) * 2010-10-22 2012-04-26 Lan Wang System for initiating execution of 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
CN101373459A (zh) * 2008-10-27 2009-02-25 成都市华为赛门铁克科技有限公司 一种制作固态硬盘的方法、系统及装置
CN101408847A (zh) * 2008-11-27 2009-04-15 成都市华为赛门铁克科技有限公司 一种固件加载方法、系统和装置
US20120102306A1 (en) * 2010-10-22 2012-04-26 Lan Wang System for initiating execution of bios
CN103207797A (zh) * 2013-03-15 2013-07-17 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杜振龙 等: "MIPS架构计算机平台的支持固件研究", 《兰州理工大学学报》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107735769A (zh) * 2015-06-26 2018-02-23 英特尔公司 固件相关事件通知
CN107735769B (zh) * 2015-06-26 2022-04-19 英特尔公司 固件相关事件通知
CN106909349A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器的uefi固件实现方法
CN106909399A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 一种基于服务器计算机的uefi固件实现方法
WO2018129757A1 (zh) * 2017-01-13 2018-07-19 邦彦技术股份有限公司 一种基于龙芯平台的通信控制框架
CN106815086B (zh) * 2017-01-13 2020-04-14 邦彦技术股份有限公司 一种基于龙芯平台的通信控制装置
CN106815086A (zh) * 2017-01-13 2017-06-09 邦彦技术股份有限公司 一种基于龙芯平台的通信控制框架
CN107450926B (zh) * 2017-07-31 2020-09-18 苏州浪潮智能科技有限公司 一种存储设备的硬件外设管理方法及装置
CN107450926A (zh) * 2017-07-31 2017-12-08 郑州云海信息技术有限公司 一种存储设备的硬件外设管理方法及装置
CN108108198B (zh) * 2017-12-15 2021-05-18 联想(北京)有限公司 用于计算机系统的方法及系统
CN108108198A (zh) * 2017-12-15 2018-06-01 联想(北京)有限公司 用于计算机系统的方法及系统
CN111258661A (zh) * 2020-01-13 2020-06-09 山东超越数控电子股份有限公司 一种基于uefi scsi的raid卡驱动设计方法
CN112068859A (zh) * 2020-07-31 2020-12-11 江苏航天龙梦信息技术有限公司 一种基于网络启动批量更新固件的方法
CN112231051A (zh) * 2020-09-28 2021-01-15 苏州浪潮智能科技有限公司 一种arm系统架构uefi引导文件管理方法及装置
CN112231051B (zh) * 2020-09-28 2022-05-31 苏州浪潮智能科技有限公司 一种arm系统架构uefi引导文件管理方法及装置
CN114579495A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于飞腾处理器的全国产通用计算机固件的实现方法
CN114579495B (zh) * 2022-05-06 2022-09-30 成都前锋信息技术股份有限公司 基于飞腾处理器的通用计算机固件的实现方法

Similar Documents

Publication Publication Date Title
CN104572165B (zh) 一种基于飞腾服务器的uefi固件实现方法
CN104572061A (zh) 一种基于龙芯服务器的uefi固件实现方法
CN104572164A (zh) 一种基于飞腾便携式计算机的uefi固件实现方法
CN104572161B (zh) 一种基于龙芯便携式计算机的uefi固件实现方法
US9880867B2 (en) Method and subsystem for data exchange between a guest operating system and a virtualization layer
CN101076782B (zh) 提供虚拟刀片服务器的方法和装置
TWI262443B (en) Method, system and recording medium for automatically configuring data processing system
CN104572163A (zh) 一种基于龙芯台式计算机的uefi固件实现方法
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
EP2705422B1 (en) Dynamically redirecting boot to another operating system
US20050223291A1 (en) Methods and apparatus to provide an execution mode transition
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
CN106909349A (zh) 一种基于服务器的uefi固件实现方法
CN106909399A (zh) 一种基于服务器计算机的uefi固件实现方法
CN104572162A (zh) 一种基于龙芯手持式计算机的uefi固件实现方法
US11327876B2 (en) Verifying a software or firmware update using a container before deploying to a client
US10303487B2 (en) System and method for booting an information handling system
CN101650647A (zh) 一种efi平台的兼容方法
CN106909400A (zh) 一种基于笔记本计算机的uefi固件实现方法
US20130159689A1 (en) Method and apparatus for initializing embedded device
CN106909346A (zh) 一种基于一体计算机的uefi固件实现方法
CN104572166A (zh) 一种基于飞腾台式计算机的uefi固件实现方法
CN103984572A (zh) 一种无光驱实现电脑安装和切换操作系统的方法及设备
US11467849B2 (en) Systems and methods for collecting deep operating system (OS) telemetry
CN106909347A (zh) 一种便携式计算机的uefi固件实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Chen Xiaochun

Inventor after: Zhao Lina

Inventor after: Liu Haotian

Inventor after: Xiao Zhikun

Inventor after: Zhou Wendan

Inventor after: Zhang Chao

Inventor after: Yang Xiongjun

Inventor after: Ren Tong

Inventor after: Lei Yang

Inventor after: Bai Hao

Inventor after: Zhu Lisen

Inventor after: Wang Yazhou

Inventor after: Zhang Jiading

Inventor before: Chen Xiaochun

Inventor before: Zhang Chao

Inventor before: Zhu Lisen

Inventor before: Wang Yazhou

Inventor before: Zhang Jiading

Inventor before: Zhao Lina

Inventor before: Liu Haotian

Inventor before: Xiao Zhikun

Inventor before: Zhou Wendan

CB03 Change of inventor or designer information
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150429

WD01 Invention patent application deemed withdrawn after publication