[发明专利]ME Nonce值的保存方法、装置、设备及存储介质有效
申请号: | 201910555863.8 | 申请日: | 2019-06-25 |
公开(公告)号: | CN110399166B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 孙永博 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 侯珊 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | me nonce 保存 方法 装置 设备 存储 介质 | ||
本发明公开了一种ME Nonce值的保存方法,在本方案中,不仅可以通过全局变量保存Nonce值,还可以通过目标变量保存有效的Nonce值;具体来说,该目标变量用于在第一次获取的Nonce值为有效值时,保存有效的Nonce值;如果后续获取的Nonce值为无效值,则从目标变量中获取有效的Nonce值赋值给全局变量;通过这种方式,可以避免在BIOS与ME的交互过程中,出现全局变量被赋值为无效值的情况,保证相关代码功能正常的执行。本发明还公开了一种ME Nonce值的保存装置、设备及计算机可读存储介质,同样能实现上述技术效果。
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种ME Nonce值的保存方法、装置、设备及计算机可读存储介质。
背景技术
BIOS(Base Input/Output System)为基本输入输出系统,ME(ManagementEngine)为Intel管理引擎固件;目前BIOS与ME是通过HECI(Host Embedded ControllerInterface,主端嵌入式控制器接口)来做交互,其中BIOS向ME发送HMRFPO_LOCK信息后,会得到一个叫Nonce的返回值。
目前,按Intel的技术规范说明,在下一次Reset前,只能在首次交互时获得有效的Nonce值,后面获取的Nonce值都是0;并且,BIOS与ME的交互功能代码里,定义了全局变量,用来接收获取到的Nonce值,但是,目前的这种存储Nonce值的方式,会存在全局变量保存的Nonce被更新为0的情况,从而造成需要Nonce值的代码功能不能正常执行。
发明内容
本发明的目的在于提供一种ME Nonce值的保存方法、装置、设备及计算机可读存储介质,以保证全局变量内存储的Nonce值为有效值。
为实现上述目的,本发明提供的一种ME Nonce值的保存方法,包括:
获取从ME微处理器获取的Nonce值;
判断所述Nonce值是否为有效值;
若所述Nonce值为有效值,则将所述Nonce值保存在目标变量中,并赋值给全局变量;
若所述Nonce值为无效值,则从目标变量中获取有效的Nonce值,并赋值给全局变量。
其中,所述目标变量为UEFI BIOS中的Variable变量。
其中,所述目标变量保存在CMOS寄存器、EERPOM寄存器、内存段中的任意一者。
其中,所述判断所述Nonce值是否为有效值,包括:
判断所述Nonce值是否为零;
若不为零,则判定所述Nonce值为有效值;若为零,则判定所述Nonce值为无效值。
为实现上述目的,本发明进一步提供一种ME Nonce值的保存装置,包括:
第一获取模块,用于获取从ME微处理器获取的Nonce值;
判断模块,用于判断所述Nonce值是否为有效值;
目标变量保存模块,用于在所述Nonce值为有效值时,将所述Nonce值保存在目标变量中;
第一赋值模块,用于在所述Nonce值为有效值时,将所述Nonce值赋值给全局变量;
第二获取模块,用于在所述Nonce值为无效值时,从目标变量中获取有效的Nonce值;
第二赋值模块,用于在所述Nonce值为无效值时,将从目标变量中获取的有效的Nonce值赋值给全局变量。
其中,所述目标变量为UEFI BIOS中的Variable变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910555863.8/2.html,转载请声明来源钻瓜专利网。