本發(fā)明涉及計算機,特別是涉及一種寄存器設(shè)置方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、atf(arm?trust?firmware,一種開源安全固件的源碼)在arm(advanced?riscmachine,進階精簡指令集機器)服務(wù)器上負責管理整個系統(tǒng)的啟動流程,包括從最低級別的啟動固件(bl1,系統(tǒng)啟動的第一階段)到操作系統(tǒng)(bl33)的加載和初始化。atf還支持安全啟動,確保系統(tǒng)在啟動過程中的每個階段都經(jīng)過驗證,防止惡意軟件的注入和篡改。而arm服務(wù)器上的寄存器只有atf才有權(quán)限設(shè)置。基于這種情況,各廠商無法在atf中做一些動作來靈活的設(shè)置一些底層arm就寄存器,只能使用其默認設(shè)置。
2、可見,如何自由靈活對服務(wù)器中的寄存器進行設(shè)置是本領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例的目的是提供一種寄存器設(shè)置方法、裝置、設(shè)備及存儲介質(zhì),可以解決服務(wù)器中靈活設(shè)置寄存器的問題。
2、為解決上述技術(shù)問題,第一方面,本發(fā)明實施例提供一種寄存器設(shè)置方法,應用于目標服務(wù)器,所述目標服務(wù)器為開放安全固件源碼的服務(wù)器,包括:
3、確定待設(shè)置的目標寄存器,并根據(jù)所述目標服務(wù)器對應的初始安全固件的源碼目錄確定所述目標寄存器對應的初始源文件;
4、對所述初始源文件中與所述目標寄存器的讀寫權(quán)限對應的標志位進行修改,得到修改后的目標源文件,并對包含所述目標源文件的安全固件進行編譯,以得到所述目標服務(wù)器對應的目標安全固件;
5、啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng),并通過所述基本輸入輸出系統(tǒng)獲取針對所述目標寄存器的目標參數(shù)值,以利用所述目標參數(shù)值對所述目標寄存器的當前工作狀態(tài)進行設(shè)置;所述目標參數(shù)值表征所述目標寄存器對應的若干工作狀態(tài)中的任意一種工作狀態(tài)對應的參數(shù)值。
6、可選的,所述確定待設(shè)置的目標寄存器,并根據(jù)所述目標服務(wù)器對應的初始安全固件的源碼目錄確定所述目標寄存器對應的初始源文件,包括:
7、根據(jù)目標服務(wù)器對應的寄存器手冊確定待設(shè)置的目標寄存器,并從所述目標服務(wù)器對應的初始安全固件的源碼目錄中確定所述目標寄存器對應的目標目錄,以從所述初始安全固件中取出所述目標目錄對應的初始源文件。
8、可選的,所述對所述初始源文件中與所述目標寄存器的讀寫權(quán)限對應的標志位進行修改,得到修改后的目標源文件,包括:
9、根據(jù)目標服務(wù)器對應的寄存器手冊確定所述初始源文件中用于設(shè)置所述目標寄存器的目標函數(shù),并在所述目標函數(shù)中將所述目標寄存器的讀寫權(quán)限的標志位置為預設(shè)值,以得到修改后的目標源文件。
10、可選的,所述對包含所述目標源文件的安全固件進行編譯,以得到所述目標服務(wù)器對應的目標安全固件,包括:
11、通過用于管理軟件包的命令行工具在所述目標服務(wù)器安裝用于編譯安全固件的依賴,并利用分布式版本控制工具下載用于編譯安全固件的編譯工具鏈;
12、基于所述依賴和所述編譯工具鏈對包含所述目標源文件的第一安全固件進行編譯,得到編譯后的第二安全固件,并利用所述第二安全固件替換所述初始安全固件中的所述第一安全固件,以得到所述目標服務(wù)器對應的目標安全固件。
13、可選的,所述啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng),并通過所述基本輸入輸出系統(tǒng)獲取針對所述目標寄存器的目標參數(shù)值之前,還包括:
14、通過預設(shè)人機交互接口獲取針對所述目標寄存器的選項配置指令,并基于所述選項配置指令創(chuàng)建與所述目標寄存器對應的名稱選項以及不同工作狀態(tài)下的參數(shù)值選項;
15、通過所述預設(shè)人機交互接口獲取針對所述參數(shù)值選項的第一選擇指令,并將所述第一選擇指令對應的參數(shù)值設(shè)置為所述目標寄存器的默認參數(shù)值,以便啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng)時,利用所述默認參數(shù)值對所述目標寄存器進行初始化。
16、可選的,所述啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng),并通過所述基本輸入輸出系統(tǒng)獲取針對所述目標寄存器的目標參數(shù)值,以利用所述目標參數(shù)值對所述目標寄存器的當前工作狀態(tài)進行設(shè)置,包括:
17、啟動所述服務(wù)器的基本輸入輸出系統(tǒng),在系統(tǒng)初始化階段讀取各所述目標寄存器對應的名稱選項以及參數(shù)值選項,并利用所述參數(shù)值選項中的默認參數(shù)值對相關(guān)的目標寄存器進行初始化,得到所述目標寄存器的當前工作狀態(tài);
18、讀取各所述目標寄存器的所述當前工作狀態(tài),并通過預設(shè)人機交互界面展示所述目標寄存器對應的各所述名稱選項以及包含所述當前工作狀態(tài)對應的當前參數(shù)值的各所述參數(shù)值選項,以便通過所述預設(shè)人機交互接口獲取針對單個所述目標寄存器的參數(shù)值選項的第二選擇指令;
19、從單個所述目標寄存器對應的各參數(shù)值選項中確定出與所述第二選擇指令相匹配的目標參數(shù)值,并利用所述目標參數(shù)值對單個所述寄存器的所述當前工作狀態(tài)對應的當前參數(shù)值進行修改,以利用所述目標參數(shù)值對單個所述目標寄存器的所述當前工作狀態(tài)進行設(shè)置。
20、可選的,所述利用所述目標參數(shù)值對所述目標寄存器的當前工作狀態(tài)進行設(shè)置之后,還包括:
21、讀取所述目標寄存器當前時刻下的表征工作狀態(tài)的當前參數(shù)值,并判斷讀取到的所述當前參數(shù)值是否與所述目標參數(shù)值相同;
22、若讀取到的所述當前參數(shù)值與所述目標參數(shù)值相同,則判定寄存器設(shè)置成功;
23、若讀取到的所述當前參數(shù)值與所述目標參數(shù)值不相同,則觸發(fā)針對所述目標寄存器的工作狀態(tài)的告警信息,以便重新獲取針對所述目標寄存器的參數(shù)值選項的選擇指令。
24、第二方面,本技術(shù)公開了一種寄存器設(shè)置裝置,應用于目標服務(wù)器,所述目標服務(wù)器為開放安全固件源碼的服務(wù)器,包括:
25、源文件確定模塊,用于確定待設(shè)置的目標寄存器,并根據(jù)所述目標服務(wù)器對應的初始安全固件的源碼目錄確定所述目標寄存器對應的初始源文件;
26、固件編譯模塊,用于對所述初始源文件中與所述目標寄存器的讀寫權(quán)限對應的標志位進行修改,得到修改后的目標源文件,并對包含所述目標源文件的安全固件進行編譯,以得到所述目標服務(wù)器對應的目標安全固件;
27、寄存器設(shè)置模塊,用于啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng),并通過所述基本輸入輸出系統(tǒng)獲取針對所述目標寄存器的目標參數(shù)值,以利用所述目標參數(shù)值對所述目標寄存器的當前工作狀態(tài)進行設(shè)置;所述目標參數(shù)值表征所述目標寄存器對應的若干工作狀態(tài)中的任意一種工作狀態(tài)對應的參數(shù)值。
28、第三方面,本技術(shù)公開了一種電子設(shè)備,包括:
29、存儲器,用于存儲計算機程序;
30、處理器,用于執(zhí)行所述計算機程序以實現(xiàn)如上述寄存器設(shè)置方法的步驟。
31、第四方面,本技術(shù)公開了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述寄存器設(shè)置方法的步驟。
32、由此可見,本技術(shù)中的目標服務(wù)器為開放安全固件源碼的服務(wù)器,設(shè)置寄存器的過程中,首先確定待設(shè)置的目標寄存器,并根據(jù)所述目標服務(wù)器對應的初始安全固件的源碼目錄確定所述目標寄存器對應的初始源文件;對所述初始源文件中與所述目標寄存器的讀寫權(quán)限對應的標志位進行修改,得到修改后的目標源文件,并對包含所述目標源文件的安全固件進行編譯,以得到所述目標服務(wù)器對應的目標安全固件;然后啟動所述目標服務(wù)器的基本輸入輸出系統(tǒng),并通過所述基本輸入輸出系統(tǒng)獲取針對所述目標寄存器的目標參數(shù)值,以利用所述目標參數(shù)值對所述目標寄存器的當前工作狀態(tài)進行設(shè)置;所述目標參數(shù)值表征所述目標寄存器對應的若干工作狀態(tài)中的任意一種工作狀態(tài)對應的參數(shù)值。
33、由上述技術(shù)方案可以看出,本技術(shù)在開放安全固件源碼的服務(wù)器中,通過對安全固件中寄存器的讀寫權(quán)限標志位進行修改,對安全固件進行更新,并通過基本輸入輸出系統(tǒng)獲取針對寄存器的自定義的參數(shù)值選項,然后修改寄存器對應的參數(shù)值就可以實現(xiàn)對寄存器的設(shè)置;這樣可以靈活便捷對寄存器進行設(shè)置,能夠滿足用戶的定制需求。