一种基于国产飞腾cpu的固件启动及恢复方法
技术领域
1.本发明涉及一种固件启动及恢复方法,特别是一种基于国产飞腾cpu的固件启动及恢复方法。
背景技术:
2.随着计算机技术的不断发展和进步以及对信息安全要求的提升,对于计算机系统的使用要求越来越高。飞腾作为cpu的一大国内厂商,近几年来随着外部竞争日益激烈,其在计算机领域得到了广泛的应用。固件启动作为先于操作系统启动,若固件中含有恶意代码,计算机系统安全将受到威胁。
3.针对系统安全启动,现有的业内主要是固件启动不成功将设备关机,现有方案是可以在系统中设置度量固件失败时,选择关机或者是恢复此前正常的固件信息,可以避免后续还需拆下芯片重新烧写的步骤,避免版本烧写错误的可能,可以有效提高安全性。
技术实现要素:
4.本发明一种基于国产cpu的固件启动及恢复方法,用于解决上述现有技术的问题。
5.本发明一种基于国产cpu的固件启动及恢复方法,其中,包括:在第一次系统启动时,通过命令选择设置tcm芯片对bios进行度量以及度量失败后选择关机还是恢复原固件;若失败后选择关机,tcm芯片会给cpld芯片一个关机信号,cpld芯片进行断电,设备关机;当设置为失败恢复时,tcm芯片将flash中存储的信息,通过cpld芯片,写入到bios芯片中;若度量成功,则正常启动系统;cpld芯片控制开机时的时序以及切换bios芯片的通道,cpld芯片与bios芯片通过spi进行读取,cpld芯片与tcm芯片和cpu通过spi进行通信;tcm芯片将第一次启动时的bios芯片信息存储到外置flash中,并对接下来每次启动时的bios芯片信息进行读取和比对,对固件信息的度量过程,将度量结果反馈给cpld芯片,进而控制开机时序。
6.根据本发明所述的一种基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,所述国产cpu为飞腾1500,四核,主频1.5ghz。
7.根据本发明所述的一种基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,固件采用国产昆仑固件。
8.本发明一种基于国产飞腾cpu的固件启动及恢复方法,其中,包括:(1)第一次系统启动后,通过命令设置tcm芯片是否对bios信息进行度量;(2)选择度量之后的模式为失败关机或者失败重新读取原固件信息进行开机;(3)cpld芯片默认将bios芯片信息通过spi传送到tcm芯片,tcm芯片将第一次启动读取到的bios芯片信息存储在其外置flash芯片中,存储完成后,tcm芯片给cpld芯片一个信号,cpld芯片将bios芯片信息传送至cpu,cpu正常开机启动。
9.根据本发明所述的基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,包括:后续启动时,每次上电cpld默认将bios芯片切换至tcm芯片。
10.根据本发明所述的基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,后续启动时,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比。
11.根据本发明所述的基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比后,如对比相同为度量成功,tcm芯片会给cpld芯片一个启动信号,正常开机。
12.根据本发明所述的基于国产飞腾cpu的固件启动及恢复方法的一实施例,其中,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比后,当度量失败且设置为关机模式时,tcm芯片会给cpld芯片一个关机信号,cpld芯片进行断电,设备关机;当度量失败且设置为恢复模式时,tcm芯片将flash中存储的信息,通过cpld芯片,写入到bios芯片中。
13.本发明提出了一种基于国产飞腾cpu的固件安全启动及恢复方法。本发明有效避免了通过更改bios,进入系统的风险,提高了国产cpu设备启动的安全性。
附图说明
14.图1为本发明提出的一种固件安全启动及恢复的系统结构图;
15.图2为第一次开机的流程图;
16.图3为后续启动流程图.
具体实施方式
17.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
18.图1为本发明提出的一种固件安全启动及恢复的系统结构图,如图1所示,本发明提出的一种基于国产飞腾cpu的固件安全启动及恢复系统包括:飞腾cpu、cpld、tcm芯片和bios芯片。
19.所述的tcm芯片用于读取bios文件,将第一次启动时的bios文件存储在其外置flash中;之后每次开机前都要通过所述的tcm对bios文件进行读取和比对,比对成功或失败时tcm给cpld的一个管脚发出不同的信号,cpld检测此管脚的电平高低进而控制计算机是否启动。当选择bios度量失败恢复固件时,tcm芯片将之前存储在flash中的信息,通过cpld,写入bios芯片中,从而达到恢复的目的。
20.所述的cpld电路用于控制开机的时序,通过tcm反馈的高低电平信号控制下一步开机、关机或者恢复bios。
21.所述的cpld与tcm芯片通过管脚和spi相连,cpld通过spi与飞腾cpu和bios芯片进行通讯。
22.cpld通过spi总线与bios芯片进行通信,cpld输出是通过spi总线连接至飞腾cpu和tcm的spi总线上,上电cpld先将bios的信息切换至tcm上,由tcm芯片对比与第一次保存的信息是否一致,然后根据此前系统中的设置选择关机或者恢复。
23.如图2所示,在系统第一次启动时选择固件度量且度量失败关机模式。上电后,cpld 2将bios 1的spi总线切换到tcm 5芯片,固件信息被tcm 5读取且存放在其外置flash 4存储器中,第一次存储在flash 4中的固件信息为标准固件信息。存储完成后,tcm 5给
cpld 2一个信号,cpld 2将bios 1信息传送至cpu 3,正常开机启动。通过命令设置tcm 5模块是否对bios 1信息进行度量并选择度量之后的模式,此时我们选择失败关机的模式。
24.进一步的可以选择度量失败重新读取原固件信息进行开机的模式。
25.进一步的可以选择不进行固件度量的模式。
26.如图3所示,为后续启动时需要走的流程图,默认前期选择了进行固件度量模式。它的安全启动流程是:每次上电之后将bios 1总线切换至tcm模块5,tcm 5将之前保存在flash 4中的固件信息与bios 1中的固件信息进行比对。判断信息是否一致,若一致tcm 5反馈给cpld 2一个信号,cpld 2将bios 1总线切换至cpu 3,正常开机启动。
27.若度量结果为不一致,选择度量失败关机时,tcm 5直接给cpld 2一个关机信号,设备关机。选择度量失败恢复时,tcm 5进行恢复操作。tcm 5通过spi总线将外置的flash 4信息写入到bios 1芯片中,再完成正常的开机动作。
28.本发明增加了固件的恢复方法,基于飞腾cpu提出了一种tcm芯片控制系统的方法,有益效果在于:
29.(1)tcm芯片采用国产cpu,采用厂家为苏州国芯,所有技术均为自主可控;
30.(2)基于国产飞腾cpu进行设计,可以作为其中一种安全启动的方法。
31.(3)可避免重新烧写固件的步骤,操作更加机动灵活,在满足绝对安全的需求基础之上,更具人性化。
32.本发明提供了一种基于国产飞腾cpu的固件安全启动及恢复方法,可以使计算机固件安全启动,若不安全可以选择不启动或者恢复原始固件启动。本发明在保证系统安全的前提下,更加机动灵活,可操作性更强,且固件被恶意篡改时,可以恢复此前保存的固件信息。
33.本发明系统包括飞腾cpu、cpld、tcm芯片和bios芯片。其中cpld控制开机时的时序以及切换bios通道,cpld与bios芯片通过spi进行读取,同时cpld与tcm芯片和cpu也通过spi进行通信。tcm芯片将第一次启动时的bios信息存储到外置flash中,并对接下来每次启动时的bios信息进行读取和比对。当bios信息与之前存储的不一致时,可以通过tcm对设备进行关机或恢复原本固件信息。
34.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种基于国产cpu的固件启动及恢复方法,其特征在于,包括:在第一次系统启动时,通过命令选择设置tcm芯片对bios进行度量以及度量失败后选择关机还是恢复原固件;若失败后选择关机,tcm芯片会给cpld芯片一个关机信号,cpld芯片进行断电,设备关机;当设置为失败恢复时,tcm芯片将flash中存储的信息,通过cpld芯片,写入到bios芯片中;若度量成功,则正常启动系统;cpld芯片控制开机时的时序以及切换bios芯片的通道,cpld芯片与bios芯片通过spi进行读取,cpld芯片与tcm芯片和cpu通过spi进行通信;tcm芯片将第一次启动时的bios芯片信息存储到外置flash中,并对接下来每次启动时的bios芯片信息进行读取和比对,对固件信息的度量过程,将度量结果反馈给cpld芯片,进而控制开机时序。2.根据权利要求1所述的一种基于国产飞腾cpu的固件启动及恢复方法,其特征在于,所述国产cpu为飞腾1500,四核,主频1.5ghz。3.根据权利要求1所述的一种基于国产飞腾cpu的固件启动及恢复方法,其特征在于,固件采用国产昆仑固件。4.一种基于国产飞腾cpu的固件启动及恢复方法,其特征在于,包括:(1)第一次系统启动后,通过命令设置tcm芯片是否对bios信息进行度量;(2)选择度量之后的模式为失败关机或者失败重新读取原固件信息进行开机;(3)cpld芯片默认将bios芯片信息通过spi传送到tcm芯片,tcm芯片将第一次启动读取到的bios芯片信息存储在其外置flash芯片中,存储完成后,tcm芯片给cpld芯片一个信号,cpld芯片将bios芯片信息传送至cpu,cpu正常开机启动。5.如权利要求4所述的基于国产飞腾cpu的固件启动及恢复方法,其特征在于,包括:后续启动时,每次上电cpld默认将bios芯片切换至tcm芯片。6.如权利要求5所述的基于国产飞腾cpu的固件启动及恢复方法,其特征在于,后续启动时,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比。7.如权利要求6所述的基于国产飞腾cpu的固件启动及恢复方法,其特征在于,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比后,如对比相同为度量成功,tcm芯片会给cpld芯片一个启动信号,正常开机。8.如权利要求6所述的基于国产飞腾cpu的固件启动及恢复方法,其特征在于,tcm芯片会对读取到的bios信息与第一次存储在flash中的信息进行对比后,当度量失败且设置为关机模式时,tcm芯片会给cpld芯片一个关机信号,cpld芯片进行断电,设备关机;当度量失败且设置为恢复模式时,tcm芯片将flash中存储的信息,通过cpld芯片,写入到bios芯片中。
技术总结
本发明涉及一种基于国产CPU的固件启动及恢复方法,其中,包括:在第一次系统启动时,通过命令选择设置TCM芯片对BIOS进行度量以及度量失败后选择关机还是恢复原固件;若失败后选择关机,TCM芯片会给CPLD芯片一个关机信号,CPLD芯片进行断电,设备关机;当设置为失败恢复时,TCM芯片将FLASH中存储的信息,通过CPLD芯片,写入到BIOS芯片中;若度量成功,则正常启动系统;CPLD芯片控制开机时的时序以及切换BIOS芯片的通道,CPLD芯片与BIOS芯片通过SPI进行读取,CPLD芯片与TCM芯片和CPU通过SPI进行通信;TCM芯片将第一次启动时的BIOS芯片信息存储到外置FLASH中,并对接下来每次启动时的BIOS芯片信息进行读取和比对,对固件信息的度量过程,将度量结果反馈给CPLD芯片,进而控制开机时序。制开机时序。制开机时序。
技术研发人员:王慧咏 刘鑫达 胡晗
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2021.03.30
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-15216.html