[发明专利]一种基于龙芯服务器的UEFI固件实现方法在审
申请号: | 201410112037.3 | 申请日: | 2014-03-21 |
公开(公告)号: | CN104572061A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 陈小春;张超;朱立森;王亚洲;张家定;赵丽娜;刘昊天;肖志坤;周文丹 | 申请(专利权)人: | 中电科技(北京)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 无 | 代理人: | 无 |
地址: | 100083 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 服务器 uefi 实现 方法 | ||
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和中断资源,这样外设在操作系统下才能正常工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科技(北京)有限公司;,未经中电科技(北京)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410112037.3/1.html,转载请声明来源钻瓜专利网。