TW201337551A - 取得觸發功能之指令的方法 - Google Patents

取得觸發功能之指令的方法 Download PDF

Info

Publication number
TW201337551A
TW201337551A TW101107034A TW101107034A TW201337551A TW 201337551 A TW201337551 A TW 201337551A TW 101107034 A TW101107034 A TW 101107034A TW 101107034 A TW101107034 A TW 101107034A TW 201337551 A TW201337551 A TW 201337551A
Authority
TW
Taiwan
Prior art keywords
parameter
instruction
function
variable
register
Prior art date
Application number
TW101107034A
Other languages
English (en)
Other versions
TWI464583B (zh
Inventor
Nung-Kai Chen
Pei-Chih Wu
Original Assignee
Wistron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wistron Corp filed Critical Wistron Corp
Priority to TW101107034A priority Critical patent/TWI464583B/zh
Priority to CN201210084575.7A priority patent/CN103294578B/zh
Priority to US13/526,539 priority patent/US9189351B2/en
Publication of TW201337551A publication Critical patent/TW201337551A/zh
Application granted granted Critical
Publication of TWI464583B publication Critical patent/TWI464583B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一種取得觸發功能之指令的方法,用於使用統一可延伸韌體介面的電腦系統。此方法包括在電腦系統執行開機自我測試的期間,存取基本輸入輸出系統之唯讀記憶體中的變數,此變數包括第一參數、第二參數與第三參數。判斷第一參數與第二參數個別的設定值是否符合對應於一指令的變數名稱與全域唯一識別碼。若是,則根據第三參數的設定值執行此指令所觸發的功能。

Description

取得觸發功能之指令的方法
本發明是有關於一種控制電腦系統執行特定功能的方法,且特別是有關於一種取得指令以控制電腦系統執行特定功能的方法。
一般來說,電腦系統的製造商在出貨前會對產品進行測試或各種預設值的設定,所採用的方式是由測試/設定工具使用INT 15中斷指令或符合微軟公司所制定之視窗管理裝置(Windows Management Instrumentation,WMI)規範的指令,並透過發出系統管理中斷(System Management Interrupt,SMI)的方式來呼叫基本輸入輸出系統根據暫存器目前的設定值來執行特定工作,例如設定產品序號或載入預設開機順序等。
然而新一代的處理器已不再支援系統管理中斷,因此對使用這類中央處理器的電腦系統來說,原有的測試/設定工具便無法使用。換言之,電腦系統若不支援系統管理中斷,測試/設定工具便無法透過觸發系統管理中斷來呼叫基本輸入輸出系統執行特定工作。正因如此,需要有其他的機制來替代系統管理中斷的用途,使出廠前的測試或基本設定得以順利完成。
有鑑於此,本發明提供一種取得觸發功能之指令的方法,使得不支援系統管理中斷之電腦系統的基本輸入輸出系統也能取得中斷指令,進而執行上述指令所觸發之功能。
本發明提出一種取得觸發功能之指令的方法,用於使用統一可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)的電腦系統。此方法包括在電腦系統執行開機自我測試的期間,存取基本輸入輸出系統之唯讀記憶體中的變數,此變數包括第一參數、第二參數與第三參數。判斷第一參數與第二參數個別的設定值是否符合對應於一指令的變數名稱與全域唯一識別碼(GUID)。若是,則根據第三參數的設定值執行此指令所觸發的功能。
在本發明之一實施例中,其中在電腦系統執行該開機自我測試的期間存取變數的步驟之前,此方法更包括配置基本輸入輸出系統之唯讀記憶體中的一塊記憶體空間給變數,以及透過統一可延伸韌體介面的運行時期服務,分別指定變數之第一參數、第二參數與第三參數的設定值。
在本發明之一實施例中,其中第三參數包括多個暫存器欄位,且上述暫存器欄位與電腦系統之中央處理器的數個暫存器之間具有一對應關係。而透過運行時期服務,分別指定變數之第一參數、第二參數與第三參數的設定值的步驟包括當第一參數與第二參數的設定值被指定為指令所對應的變數名稱與全域唯一識別碼,則取得指令所觸發之功能所需的至少一暫存器值,其中各暫存器值對應其中之一暫存器。根據上述對應關係將各暫存器值對應寫入其中之一暫存器欄位。
在本發明之一實施例中,其中在根據對應關係將各暫存器值對應寫入暫存器欄位的步驟之後,此方法更包括在確認第一參數與第二參數的設定值被指定為指令所對應的變數名稱與全域唯一識別碼後,自動重新啟動電腦系統。
在本發明之一實施例中,其中根據第三參數的設定值執行指令所觸發的功能的步驟包括在第三參數的所有暫存器欄位中,取得有被寫入暫存器值的非空白暫存器欄位,根據所有非空白暫存器欄位及其暫存器值識別功能,並由系統輸入輸出系統執行此功能。
在本發明之一實施例中,其中第三參數更包括本文欄位,而透過運行時期服務,分別指定變數之第一參數、第二參數與第三參數的設定值的步驟更包括當第一參數與第二參數的設定值被指定為指令所對應的變數名稱與全域唯一識別碼,則取得指令所觸發之功能所需的設定資料,並將設定資料寫入本文欄位。
在本發明之一實施例中,其中根據第三參數的設定值執行指令所觸發的功能的步驟包括在第三參數的所有暫存器欄位中,取得有被寫入暫存器值的非空白暫存器欄位,並根據所有非空白暫存器欄位及其暫存器值識別功能,以及由系統輸入輸出系統依據設定資料執行此功能。
在本發明之一實施例中,其中指令為中斷指令,而功能包括設定產品序號、載入系統預設值、設定/清除開機密碼、設定產品名稱、設定開機順序以及設定製造商標識圖示。
在本發明之一實施例中,其中在判斷第一參數與第二參數個別的設定值是否符合對應於指令的變數名稱與全域唯一識別碼的步驟之後,此方法更包括若不符合,則繼續執行開機自我測試。
在本發明之一實施例中,其中電腦系統不支援系統管理中斷(System Management Interrupt,SMI)。
基於上述,本發明是對位於基本輸入輸出系統之唯讀記憶體的變數設定特定變數名稱與全域唯一識別碼,進而將此變數視為特殊的指令。基此,電腦系統在開機期間可藉由讀取變數以識別指令種類,並執行指令所觸發之功能。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照本發明之一實施例所繪示之取得觸發功能之指令的方法的流程圖。本實施例所述之方法適用於使用統一可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)的電腦系統。其中,統一可延伸韌體介面是電腦系統的作業系統與韌體之間介面規範。而電腦系統可以是桌上型電腦系統、筆記型電腦系統、工作站,或伺服器,本發明並不限制其種類。進一步來說,本實施例所適用之電腦系統並不支援系統管理中斷(System Management Interrupt,SMI),因此無法以發送系統管理中斷指令的方式來呼叫電腦系統之基本輸入輸出系統(Basic Input/Output System,BIOS)去執行特定的工作。以下將以圖1來說明在使用統一可延伸韌體介面的環境下,電腦系統之基本輸入輸出系統如何取得指令並執行對應的工作。
首先如步驟S110所示,在電腦系統執行開機自我測試(Power-On Self Test,POST)的期間,由基本輸入輸出系統存取位於其唯讀記憶體(BIOS ROM)的變數,此變數的結構包括第一參數、第二參數與第三參數。其中,第一參數的資料型態為字串(string),用以記錄此變數的名稱。第二參數的資料型態為uniqueidentifier,用以記錄32個16進位下的字元(即,數字0至9以及字母A至H)所組成的字串。第三參數可視為一資料緩衝區,用以記錄變數的內容。在其他實施例中,變數還可包括記錄變數屬性的參數以及記錄資料緩衝區大小的參數。詳言之,電腦系統的基本輸入輸出系統可在執行開機自我測試的期間,透過統一可延伸韌體介面的運行時期服務(runtime service)來讀取變數。例如,基本輸入輸出系統可呼叫GetVariable這個函式以讀取位於BIOS ROM之變數中各個參數的設定值。舉例來說,GetVariable函式的函式原型(Function prototype)如下所示:
typedef
EFI_STATUS
GetVariable(
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
OUT UINT32 *Attributes,
IN OUT UINTN *DataSize,
OUT VOID *Data
);
GetVariable函式的參數“VariableName”會回傳記錄於變數之第一參數的設定值。GetVariable函式的參數“VendorGuid”則會回傳記錄於變數之第二參數的設定值。GetVariable函式的參數“Data”會回傳記錄於變數之第三參數的設定值。當變數具有記錄屬性與資料緩衝區大小的參數時,亦可透過GetVariable函式的“Attributes”以及“DataSize”兩參數來抓取其值。
接著在步驟S120中,由基本輸入輸出系統判斷變數之第一參數與第二參數個別的設定值是否符合對應於一指令的變數名稱與全域唯一識別碼(Globally Unique Identifier,GUID)。在本實施例中,指令可以是中斷指令(例如,INT 15中斷指令)或符合微軟公司所制定之視窗管理裝置(Windows Management Instrumentation,WMI)規範的指令,本發明並不對指令的種類加以限制。在其他實施例中,指令還可以是任何在使用上必須透過系統管理中斷來呼叫基本輸入輸出系統的指令。舉例來說,電腦系統記錄有一對應表,其包括各種特殊指令所對應的變數名稱與全域唯一識別碼,而基本輸入輸出系統可採用查找對應表的方式來判斷目前記錄在變數之第一與第二參數中的設定值是否符合任何特殊指令所對應的變數名稱與全域唯一識別碼。
若步驟S120的判斷結果為否,表示此變數為一般變數,因此如步驟S140所示,繼續執行開機自我測試以完成電腦系統的開機程序。
倘若步驟S120的判斷結果為是,表示此變數是用以表示某種特殊的指令,而基本輸入輸出系統讀取此變數的行為便宛若接收到指令。因此如步驟S130所示,基本輸入輸出系統根據變數之第三參數的設定值來執行此指令所會觸發的功能。舉例來說,指令所觸發的功能包括設定產品序號、載入系統預設值、設定/清除開機密碼、設定產品名稱、設定開機順序,以及設定製造商標識圖示等等,但並不以此為限。待功能執行完畢後,接著如步驟S140所示,繼續執行開機自我測試以完成開機程序。
如圖1所示,若位於基本輸入輸出系統之唯讀記憶體的變數被寫入特定的變數名稱以及全域唯一識別碼,表示此變數並非僅是用以記錄資料的單純變數,而是用來表示一個可以觸發某種功能的指令。基此,在電腦系統開機的期間,倘若基本輸入輸出系統自其唯讀記憶體讀取到上述變數,便如同接獲指令,因此會進一步根據變數的內容執行對應功能。換言之,即便無法透過系統管理中斷來呼叫基本輸入輸出系統,也能藉由讀取變數的方式令基本輸入輸出系統執行指令所觸發的功能。
圖2是依照本發明之另一實施例所繪示之取得觸發功能之指令的方法的流程圖。以下將以圖2進一步說明變數的設定方式以及如何識別指令所觸發的功能。
首先如步驟S210所示,在基本輸入輸出系統之唯讀記憶體中配置一塊記憶體空間給一變數。亦即,此變數的所有設定值會儲存於所配置的這塊記憶體空間。而由於唯讀記憶體係屬於非揮發性記憶體(Non-volatile memory),因此即便電腦系統被關閉再啟動,其中的資料也不會因電腦系統曾經斷電而消失。在本實施例中,變數包括第一參數、第二參數與第三參數。其中第三參數包括多個暫存器欄位,而每一暫存器欄位與電腦系統之中央處理器的所有暫存器之間具有一對一的對應關係。舉例來說,假設電腦系統的中央處理器為英特爾(Intel)公司所推出的中央處理器,那麼第三參數例如會包括16個暫存器欄位,分別對應Intel中央處理器所具有的16個暫存器(例如,CS、DS、ES、FS GS、SS、EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP、EIP、EFLAGS暫存器)。上述16個暫存器欄位的先後順序如圖3所示,但本發明並不以此為限。請參閱圖3,本實施例是以所對應的暫存器名稱來標示各暫存器欄位,而各暫存器欄位的長度例如是4位元組。
接著如步驟S220所示,由電腦系統之作業系統中的一特定應用程式呼叫統一可延伸韌體介面的運行時期服務,以透過此服務分別指定變數之第一參數、第二參數與第三參數的設定值。具體來說,特定應用程式可呼叫SetVariable這個函式以設定各參數的設定值。SetVariable函式的函式原型舉例如下:
typedef
EFI_STATUS
SetVariable(
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
IN UINT32 Attributes,
IN UINTN DataSize,
IN VOID *Data
);
倘若特定應用程式欲利用變數來表示一個能觸發某種功能的指令,則可利用SetVariable函式的“VariableName”參數與“VendorGuid”參數將對應於指令的變數名稱與全域唯一識別碼分別指定給變數的第一與第二參數。舉例來說,變數名稱可以是字串“SpecificAPI”,而全域唯一識別碼可以是“21EC2020-3AEA-1069-A2DD-08002B30309D”,然這僅是為了說明而舉出的範例,本發明並不以此為限。
而隨著指令所觸發之功能的不同,需被設置的暫存器及其暫存器值也不相同。基此,特定應用程式取得要觸發之功能需設置的暫存器以及對應的暫存器值,並根據暫存器欄位與暫存器之間的對應關係,利用SetVariable函式的“Data”參數將上述暫存器值寫入變數之第三參數中對應的暫存器欄位。舉例來說,假設特定應用程式欲將變數設定為能觸發載入系統預設值這項功能的指令,且載入系統預設值這項功能需對暫存器EAX以及EBX進行設置。若變數之第三參數的格式如圖3所示,特定應用程式可透過SetVariable函式的“Data”參數分別將暫存器EAX與EBX所對應的暫存器欄位寫入需設置的暫存器值,並將一預設初始暫存器值寫入其餘暫存器欄位。例如,將暫存器值0x1234寫入對應暫存器EAX的暫存器欄位、將暫存器值0x1111寫入對應暫存器EBX的暫存器欄位,並將預設初始暫存器值0x0000寫入對應其餘暫存器的暫存器欄位。
接下來如步驟S230所示,確認第一參數與第二參數的設定值是否被指定為指令所對應的變數名稱與全域唯一識別碼。若步驟S230的判斷結果為否,表示特定應用程式僅是利用統一可延伸韌體介面的運行時期服務進行一般變數設定值的寫入動作,因此如步驟S240所示,使電腦系統繼續照常運行。
然而倘若步驟S230的判斷結果為是,表示此變數用以表示特殊的指令,為了讓基本輸入輸出系統能透過讀取變數的方式來達到接收指令的功效,接下來如步驟S250所示,自動重新啟動電腦系統。並且在步驟S260中,由基本輸入輸出系統在電腦系統執行開機自我測試的期間,存取基本輸入輸出系統之唯讀記憶體中的變數,並在步驟S270中,由基本輸入輸出系統判斷變數之第一參數與第二參數個別的設定值是否符合對應於一指令的變數名稱與全域唯一識別碼。由於步驟S260與步驟S270和圖1之步驟S110與步驟S120相同或相似,故在此不再加以說明。
若步驟S270的判斷結果為否,表示基本輸入輸出系統所讀取的變數並不表示任何特殊指令,因此如步驟S290所示,繼續執行開機自我測試以完成電腦系統的開機程序。
若步驟S270的判斷結果為是,接下來在步驟S280中,由基本輸入輸出系統根據變數之第三參數的設定值執行指令所觸發的功能。詳言之,基本輸入輸出系統會在第三參數的所有暫存器欄位中,取得有被寫入暫存器值的所有非空白暫存器欄位,再根據所有非空白暫存器欄位及其中的暫存器值識別要觸發的功能,並且在識別後執行此功能。延續前述實施例,假設基本輸入輸出系統取得的兩個非空白暫存器欄位分別對應暫存器EAX以及暫存器EBX,且寫入其中的暫存器值分別為0x1234以及0x1111,那麼基本輸入輸出系統將識別並執行載入系統預設值這項功能。最後如步驟S290所示,在功能執行完畢後繼續進行開機自我測試以完成電腦系統的開機程序。
對於只需以設定暫存器值來進行控制,且原本必須利用系統管理中斷來通知基本輸入輸出系統去執行的功能(例如,設定產品序號、載入系統預設值、設定/清除開機密碼,以及設定產品名稱等功能),都可採用圖2所示之各步驟並輔以如圖3所示之變數結構,由作業系統中的特定應用程式呼叫統一可延伸韌體介面的運行時期服務(例如,SetVariable函式)來將對應指令及功能的變數名稱、全域唯一識別碼以及暫存器值寫入變數中對應的參數。據此在電腦系統重新啟動時,基本輸入輸出系統能透過另一運行時期服務(例如,GetVariable函式)讀取變數的內容,進而在識別出變數的內容是對應某特定指令與功能時,在電腦系統上執行該功能。
在另一實施例中,假設電腦系統的中央處理器為Intel公司所推出的中央處理器,變數之第三參數的格式如圖4所示。請參閱圖4,第三參數除了包括16個暫存器欄位(分別對應暫存器CS、DS、ES、FS GS、SS、EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP、EIP、EFLAGS)之外,在16個暫存器欄位後還接有一本文欄位。在本實施例中,各暫存器欄位的長度例如是4位元組,而本文欄位的長度則不加以限制。
進一步來說,倘若要令電腦系統執行帶有特定設定資料,且原需以系統管理中斷通知基本輸入輸出系統來執行的功能(例如,設定開機順序功能需要開機順序這項設定資料,而設定製造商標識圖示功能需要標識圖示檔案這項設定資料),作業系統中的特定應用程式可呼叫統一可延伸韌體介面之運行時期服務(例如,SetVariable函式),將對應特殊指令與功能的變數名稱、全域唯一識別碼、暫存器值以及設定資料分別寫入變數的第一參數、第二參數、第三參數中對應的暫存器欄位,以及第三參數中的本文欄位。其中,暫存器值與設定資料可透過查表或根據使用者的輸入來取得,但本發明並不以此為限。
爾後,在電腦系統被重新啟動而執行開機自我測試的期間,基本輸入輸出系統利用統一可延伸韌體介面之運行時期服務(如GetVariable函式)來讀取變數,倘若根據變數之第一參數與第二參數的設定值判定變數是表示特殊的指令,基本輸入輸出系統則可進一步根據第三參數中有被寫入暫存器值的非空白暫存器欄位以及記錄在第三參數之本文欄位的設定資料來執行功能。
舉例來說,假設基本輸入輸出系統所讀取之變數的第一參數與第二參數記錄的是對應一中斷指令的變數名稱與全域唯一識別碼,且變數之第三參數中非空白暫存器欄位的暫存器值係對應設定開機順序這項功能,基本輸入輸出系統將根據記錄在第三參數之本文欄位的設定資料來更新電腦系統的開機順序。或者,當變數之第三參數中非空白暫存器欄位的暫存器值是對應設定製造商標識圖示這項功能,基本輸入輸出系統將根據記錄在第三參數之本文欄位的設定資料來修改或設置製造商標識圖示。
綜上所述,本發明所述之取得觸發功能之指令的方法是藉由呼叫統一可延伸韌體介面的運行時期服務,以將對應特定指令與其可觸發之功能的所需資訊寫入位於基本輸入輸出系統之唯讀記憶體的變數。據此,在下次重新啟動電腦系統時,基本輸入輸出系統便能透過判斷變數的設定值是否對應特定指令來執行相應之功能。換言之,變數不再只是單純用以儲存資料,而會在被寫入特定的設定值時被視為是能觸發特殊功能之執行的指令。本發明所述之取得觸發功能之指令的方法可應用在電腦系統出廠前的測試或初始化設定,如此一來即便電腦系統不支援系統管理中斷,也能透過變數的設置使基本輸入輸出系統自動執行如INT 15中斷指令或符合WMI規範的指令所能觸發的功能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S110~S140...本發明之一實施例所述之取得觸發功能之指令的方法的各步驟
S210~S290...本發明之另一實施例所述之取得觸發功能之指令的方法的各步驟
CS、DS、ES、FS GS、SS、EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP、EIP、EFLAGS...暫存器欄位
Buffer...本文欄位
圖1是依照本發明之一實施例所繪示之取得觸發功能之指令的方法的流程圖。
圖2是依照本發明之另一實施例所繪示之取得觸發功能之指令的方法的流程圖。
圖3是依照本發明之一實施例所繪示之變數之第三參數的格式示意圖。
圖4是依照本發明之另一實施例所繪示之變數之第三參數的格式示意圖。
S110~S140...本發明之一實施例所述之取得觸發功能之指令的方法的各步驟

Claims (11)

  1. 一種取得觸發功能之指令的方法,用於使用一統一可延伸韌體介面的一電腦系統,該方法包括:在該電腦系統執行一開機自我測試的期間,存取一基本輸入輸出系統之一唯讀記憶體中的一變數,其中該變數包括一第一參數、一第二參數與一第三參數;判斷該第一參數與該第二參數個別的設定值是否符合對應於一指令的一變數名稱與一全域唯一識別碼;以及若是,則根據該第三參數的設定值執行該指令所觸發的一功能。
  2. 如申請專利範圍第1項所述之取得觸發功能之指令的方法,其中在該電腦系統執行該開機自我測試的期間存取該變數的步驟之前,該方法更包括:配置該基本輸入輸出系統之該唯讀記憶體中的一塊記憶體空間給該變數;以及透過該統一可延伸韌體介面的一運行時期服務,分別指定該變數之該第一參數、該第二參數與該第三參數的設定值。
  3. 如申請專利範圍第2項所述之取得觸發功能之指令的方法,其中該第三參數包括多個暫存器欄位,且該些暫存器欄位與該電腦系統之一中央處理器的多個暫存器之間具有一對應關係,而透過該運行時期服務,分別指定該變數之該第一參數、該第二參數與該第三參數的設定值的步驟包括:當該第一參數與該第二參數的設定值被指定為該指令所對應的該變數名稱與該全域唯一識別碼,則取得該指令所觸發之該功能所需的至少一暫存器值,其中各該至少一暫存器值對應該些暫存器其中之一;以及根據該對應關係將各該至少一暫存器值對應寫入該些暫存器欄位其中之一。
  4. 如申請專利範圍第3項所述之取得觸發功能之指令的方法,其中在根據該對應關係將各該至少一暫存器值對應寫入該些暫存器欄位其中之一的步驟之後,該方法更包括:在確認該第一參數與該第二參數的設定值被指定為該指令所對應的該變數名稱與該全域唯一識別碼後,自動重新啟動該電腦系統。
  5. 如申請專利範圍第4項所述之取得觸發功能之指令的方法,其中根據該第三參數的設定值執行該指令所觸發的該功能的步驟包括:在該第三參數的該些暫存器欄位中,取得有被寫入暫存器值的至少一非空白暫存器欄位;根據該至少一非空白暫存器欄位及其暫存器值識別該功能;以及由該系統輸入輸出系統執行該功能。
  6. 如申請專利範圍第5項所述之取得觸發功能之指令的方法,其中該指令為一中斷指令,而該功能包括設定產品序號、載入系統預設值、設定/清除開機密碼,以及設定產品名稱。
  7. 如申請專利範圍第4項所述之取得觸發功能之指令的方法,其中該第三參數更包括一本文欄位,而透過該運行時期服務,分別指定該變數之該第一參數、該第二參數與該第三參數的設定值的步驟更包括:當該第一參數與該第二參數的設定值被指定為該指令所對應的該變數名稱與該全域唯一識別碼,則取得該指令所觸發之該功能所需的一設定資料;以及將該設定資料寫入該本文欄位。
  8. 如申請專利範圍第7項所述之取得觸發功能之指令的方法,其中根據該第三參數的設定值執行該指令所觸發的該功能的步驟包括:在該第三參數的該些暫存器欄位中,取得有被寫入暫存器值的至少一非空白暫存器欄位;根據該至少一非空白暫存器欄位及其暫存器值識別該功能;以及由該系統輸入輸出系統依據該設定資料執行該功能。
  9. 如申請專利範圍第8項所述之取得觸發功能之指令的方法,其中該指令為一中斷指令,而該功能包括設定開機順序以及設定製造商標識圖示。
  10. 如申請專利範圍第5或8項所述之取得觸發功能之指令的方法,其中在判斷該第一參數與該第二參數個別的設定值是否符合對應於該指令的該變數名稱與該全域唯一識別碼的步驟之後,該方法更包括:若否,則繼續執行該開機自我測試。
  11. 如申請專利範圍第1項所述之取得觸發功能之指令的方法,其中該電腦系統不支援系統管理中斷。
TW101107034A 2012-03-02 2012-03-02 取得觸發功能之指令的方法 TWI464583B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW101107034A TWI464583B (zh) 2012-03-02 2012-03-02 取得觸發功能之指令的方法
CN201210084575.7A CN103294578B (zh) 2012-03-02 2012-03-27 取得触发功能的指令的方法
US13/526,539 US9189351B2 (en) 2012-03-02 2012-06-19 Method of obtaining instruction for triggering function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101107034A TWI464583B (zh) 2012-03-02 2012-03-02 取得觸發功能之指令的方法

Publications (2)

Publication Number Publication Date
TW201337551A true TW201337551A (zh) 2013-09-16
TWI464583B TWI464583B (zh) 2014-12-11

Family

ID=49043498

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101107034A TWI464583B (zh) 2012-03-02 2012-03-02 取得觸發功能之指令的方法

Country Status (3)

Country Link
US (1) US9189351B2 (zh)
CN (1) CN103294578B (zh)
TW (1) TWI464583B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014150478A1 (en) * 2013-03-15 2014-09-25 Insyde Software Corp. System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware
CN105138419B (zh) * 2015-07-24 2018-05-25 英业达科技有限公司 设定值恢复系统
CN106200847A (zh) * 2016-08-03 2016-12-07 浪潮电子信息产业股份有限公司 一种ARM平台实现Clear CMOS功能的方法
US10521216B2 (en) 2017-01-17 2019-12-31 Oracle International Corporation Unified extensible firmware interface updates
US11036408B2 (en) 2017-03-26 2021-06-15 Oracle International Corporation Rule-based modifications in a data storage appliance monitor

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392371B2 (en) * 2001-12-20 2008-06-24 Zimmer Vincent J Method and apparatus for using a volume top file to boot firmware modules
US6963970B2 (en) * 2002-04-29 2005-11-08 Hewlett-Packard Development Company, L.P. System and method for executing a fast reset of a computer system
US7299346B1 (en) * 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
US7076648B2 (en) * 2003-02-19 2006-07-11 American Megatrends, Inc. Methods and computer systems for selection of a DSDT
TWI328740B (en) * 2003-04-16 2010-08-11 Insyde Software Corp Recovery method and recovery system for master boot record of hard disk drive, and computer-readable reading medium
US7234054B2 (en) * 2004-02-09 2007-06-19 Intel Corporation Method and apparatus for enabling platform configuration
JP4283131B2 (ja) * 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
US20050273584A1 (en) * 2004-06-07 2005-12-08 Wisecup George D Locating environment variables in non-volatile memory
US7630585B2 (en) * 2004-06-25 2009-12-08 Intel Corporation Image processing using unaligned memory load instructions
US7346759B1 (en) * 2004-08-06 2008-03-18 Xilinx, Inc. Decoder interface
US20070150713A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Methods and arrangements to dynamically modify the number of active processors in a multi-node system
KR100812346B1 (ko) * 2006-02-06 2008-03-11 삼성전자주식회사 재구성 어레이에서의 인터럽트 처리 방법 및 장치
US7500095B2 (en) * 2006-03-15 2009-03-03 Dell Products L.P. Chipset-independent method for locally and remotely updating and configuring system BIOS
US7818558B2 (en) * 2006-05-31 2010-10-19 Andy Miga Method and apparatus for EFI BIOS time-slicing at OS runtime
US7660977B2 (en) * 2006-06-08 2010-02-09 Intel Corporation System and method to control microcode updates after booting an operating system in a computing platform
US7747848B1 (en) * 2006-07-31 2010-06-29 American Megatrends, Inc. Updating the system management information of a computer system
US8510859B2 (en) * 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US7886190B2 (en) * 2006-09-29 2011-02-08 Intel Corporation System and method for enabling seamless boot recovery
US7752499B2 (en) * 2007-09-11 2010-07-06 International Business Machines Corporation System and method for using resource pools and instruction pools for processor design verification and validation
JP4795378B2 (ja) * 2008-04-01 2011-10-19 レノボ・シンガポール・プライベート・リミテッド コンピュータおよびブート方法
US7509511B1 (en) * 2008-05-06 2009-03-24 International Business Machines Corporation Reducing register file leakage current within a processor
US8327415B2 (en) * 2008-05-30 2012-12-04 Intel Corporation Enabling byte-code based image isolation
US8909940B2 (en) * 2008-06-23 2014-12-09 Intel Corporation Extensible pre-boot authentication
US8561138B2 (en) * 2008-12-31 2013-10-15 Intel Corporation System and method to provide added security to a platform using locality-based data
US8694761B2 (en) * 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
TWI436278B (zh) * 2011-03-14 2014-05-01 Shuttle Inc 電腦快速開機系統及其方法

Also Published As

Publication number Publication date
TWI464583B (zh) 2014-12-11
US20130232287A1 (en) 2013-09-05
CN103294578B (zh) 2016-08-24
US9189351B2 (en) 2015-11-17
CN103294578A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
US8468514B2 (en) System and method for updating unified extensible firmware interface setting information
USRE40092E1 (en) Method for quickly booting a computer system
US20120311579A1 (en) System and method for updating virtual machine template
US7454547B1 (en) Data exchange between a runtime environment and a computer firmware in a multi-processor computing system
TWI464583B (zh) 取得觸發功能之指令的方法
US9740502B2 (en) Virtual bus device using management engine
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
US20120303944A1 (en) Data recovering system and method
WO2011116621A1 (zh) 电子设备、可配置的部件及其配置信息存储方法
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
US9672047B1 (en) Systems and methods for accessing a bootable partition on a serial peripheral interface device
TW201407343A (zh) 測試系統及其測試方法
CN107135462B (zh) Uefi固件的蓝牙配对方法及其计算系统
KR20150026777A (ko) 맞춤형 통합 확장 펌웨어 인터페이스 드라이버를 설치한 컴퓨터-읽기가능 레코딩 매체 및 그것의 방법
US20190303172A1 (en) Information processing apparatus, device assignment method, and computer readable medium
US8370618B1 (en) Multiple platform support in computer system firmware
US10642623B1 (en) Preserving firmware settings during firmware updates
US10133654B1 (en) Firmware debug trace capture
US11106457B1 (en) Updating firmware runtime components
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
CN113377566A (zh) 一种基于uefi的服务器启动方法、装置及存储介质
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
TWI518594B (zh) 計算機系統與計算機系統啓動方法
US10838737B1 (en) Restoration of memory content to restore machine state