[发明专利]一种基于UEFI的服务器启动方法、装置及存储介质在审
申请号: | 202110690627.4 | 申请日: | 2021-06-22 |
公开(公告)号: | CN113377566A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 李雪 | 申请(专利权)人: | 新华三技术有限公司合肥分公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 230001 安徽省合肥市高新区创*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 uefi 服务器 启动 方法 装置 存储 介质 | ||
1.一种基于UEFI的服务器启动方法,其特征在于,所述方法包括:
在统一可扩展固件接口基本输入输出系统UEFI BIOS启动过程中,将UEFI BIOS上报的设备在位信息和错误诊断数据写入基板控制器BMC芯片外挂的存储介质中;所述BMC芯片直接从BMC外挂的存储介质读取整机配置及故障诊断信;
并且,在UEFIBIOS启动过程中,通过扩展固件接口EFI多任务协议接口并发加载多个外设驱动程序。
2.根据权利要求1所述的方法,其特征在于,将UEFI BIOS上报的设备在位信息和错误诊断数据写入BMC芯片外挂的存储介质中具体为:
将设备在位信息和错误诊断数据分别写入BMC芯片外挂的存储介质中的指定存储区域中;
所述指定存储区域包括头部区域和数据存储区域两部分;其中,头部区域用于存储数据存储区域占用空间大小范围及记录完成标志位;
数据存储区域包括设备在位数据区域和错误诊断数据区域,设备在位数据区域记录整机设备在位情况信息,错误诊断数据区域记录设备故障信息。
3.根据权利要求1所述的方法,其特征在于,所述通过扩展固件接口EFI多任务协议接口并发加载多个外设驱动程序具体为:
启动处理器BSP创建并安装EFI多任务协议接口即EFI_MULTI_TASK_PROTOCOL接口;
通过EFI多任务协议接口遍历各外设驱动程序,通过多核MP服务协议接口即EFI_MP_SERVICES_PROTOCOL接口激活应用处理器AP,将多个外设驱动程序分别派发到不同的应用处理器AP上并行启动各外设驱动程序。
4.根据权利要求3所述的方法,其特征在于,当外设驱动程序之间存在依赖关系的情况下,通过UEFI提供的Event事件机制关联加载依赖其它外设驱动程序的外设驱动程序,具体方法为;
通过MP服务协议接口的启动AP的接口StartupThisAP启动被第二外设驱动程序依赖的第一外设驱动程序,所述第一外设驱动程序入口通过StartupThisAP的WaitEvent事件参数传入;
通过建立事件CreateEvent函数创建用于加载所述第二外设驱动程序的定时事件,通过设置一个定时器,在定时时间到时,通过定时器执行所述定时事件,从实现在所述第一外设驱动程序加载完成后加载所述第二外设驱动程序。
5.根据权利要求3所述的方法,其特征在于,
通过UEFI提供的LocateProtocol接口从UEFI内核中找到所述EFI多任务协议接口;通过调用UEFI的安装协议接口InstallProtocolInterface函数安装所述EFI多任务协议接口。
6.一种基于UEFI的服务器启动装置,其特征在于,该装置包括:
外挂存储介质写入模块,用于在UEFIBIOS启动过程中,将UEFIBIOS上报的设备在位信息和错误诊断数据写入基板控制器BMC芯片外挂的存储介质中;所述BMC外挂的存储介质读取整机配置及故障诊断信息被所述BMC芯片直接读取;
外设驱动并发加载模块,用于在UEFIBIOS启动过程中,通过扩展固件接口EFI多任务协议接口并发加载多个外设驱动程序。
7.根据权利要求6所述的装置,其特征在于,
所述外挂存储介质写入模块将设备在位信息和错误诊断数据分别写入BMC芯片外挂的存储介质中的指定存储区域中;
所述指定存储区域包括头部区域和数据存储区域两部分;其中,头部区域用于存储数据存储区域占用空间大小范围及记录完成标志位;
数据存储区域包括设备在位数据区域和错误诊断数据区域,设备在位数据区域记录整机设备在位情况信息,错误诊断数据区域记录设备故障信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司合肥分公司,未经新华三技术有限公司合肥分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110690627.4/1.html,转载请声明来源钻瓜专利网。