IP Library Granted Patent US 9,189,351
Granted Patent B2
US 9,189,351 · App. 13/526,539 · Granted Nov 17, 2015

Method of obtaining instruction for triggering function

Inventors: Nung-Kai Chen (New Taipei, TW); Pei-Chih Wu (New Taipei, TW)
Assignee: Wistron Corporation
G06F11/2284
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,189,351
App. No.
13/526,539
Granted
Nov 17, 2015
Kind
B2
Abstract

A method of obtaining a function triggering instruction is provided. The method is adapted to a computer system using a unified extensible firmware interface (UEFI). In the present method, a variable in a read-only memory (ROM) of a basic input/output system (BIOS) is accessed during power-on self test (POST) of the computer system, wherein the variable has a first element, a second element, and a third element. Whether values of the first element and the second element respectively match a variable name and a globally unique identifier (GUID) corresponding to an instruction is determined. If the values of the first element and the second element respectively match the variable name and the GUID corresponding to the instruction, a function triggered by the instruction is executed according to the value of the third element.

Claims (29)

1. A method of obtaining an instruction for triggering a function, adapted to a computer system using a unified extensible firmware interface (UEFI), the method comprising:

accessing a variable in a read-only memory (ROM) of a basic input/output system (BIOS) during a power-on self test (POST) of the computer system, wherein the variable comprises a first element, a second element, and a third element;

determining whether values of the first element and the second element respectively match a variable name and a globally unique identifier (GUID) corresponding to the instruction;

when the values of the first element and the second element respectively match the variable name and the GUID corresponding to the instruction, executing the function triggered by the instruction according to a value of the third element; and

respectively setting the values of the first element, the second element, and the third element of the variable through a runtime service of the UEFI before accessing the variable during the POST of the computer system, wherein the third element comprises a plurality of register fields, a correspondence exists between the register fields and a plurality of registers of a central processing unit (CPU) of the computer system, and the step of respectively setting the values of the first element, the second element, and the third element of the variable through the runtime service comprises:

when the values of the first element and the second element are set as the variable name and the GUID corresponding to the instruction, obtaining at least one register value required by the function triggered by the instruction, wherein each of the at least one register value is corresponding to one of the registers; and

writing each of the at least one register value into one of the register fields according to the correspondence.

2. The method according to claim 1 , wherein before the step of accessing the variable during the POST of the computer system, the method further comprises:

allocating a memory space in the ROM of the BIOS to the variable.

3. The method according to claim 1 , wherein after the step of writing each of the at least one register value into one of the register fields according to the correspondence, the method further comprises:

after confirming that the values of the first element and the second element are set as the variable name and the GUID corresponding to the instruction, automatically re-starting the computer system.

4. The method according to claim 3 , wherein the step of executing the function triggered by the instruction according to the value of the third element comprises:

obtaining at least one non-blank register field containing register value among the register fields of the third element;

identifying the function according to the at least one non-blank register field and the register value of the at least one non-blank register field; and

executing the function by using the BIOS.

5. The method according to claim 4 , wherein the instruction is an interrupt instruction, and the function comprises setting a product serial number, loading predetermined system values, setting/clearing a boot password, and setting a product name.

6. The method according to claim 4 , wherein after the step of determining whether the values of the first element and the second element respectively match the variable name and the GUID corresponding to the instruction, the method further comprises:

when the value of the first element or the value of the second element does not match the variable name or the GUID corresponding to the instruction, continuing with the POST.

7. The method according to claim 3 , wherein the third element further comprises a context field, and the step of respectively setting the values of the first element, the second element, and the third element of the variable through the runtime service further comprises:

when the values of the first element and the second element are set as the variable name and the GUID corresponding to the instruction, obtaining a setting data required by the function triggered by the instruction; and

writing the setting data into the context field.

8. The method according to claim 7 , wherein the step of executing the function triggered by the instruction according to the value of the third element comprises:

obtaining at least one non-blank register field containing register value among the register fields of the third element;

identifying the function according to the at least one non-blank register field and the register value of the at least one non-blank register field; and

executing the function according to the setting data by using the BIOS.

9. The method according to claim 8 , wherein the instruction is an interrupt instruction, and the function comprises setting a boot order and setting a manufacturer logo.

10. The method according to claim 8 , wherein after the step of determining whether the values of the first element and the second element respectively match the variable name and the GUID corresponding to the instruction, the method further comprises:

when the value of the first element or the value of the second element does not match the variable name or the GUID corresponding to the instruction, continuing with the POST.

11. The method according to claim 1 , wherein the computer system does not support system management interrupt (SMI).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: CHEN, NUNG-KAI; WU, PEI-CHIH
To: WISTRON CORPORATION
Reel/Frame 028406/0536 →
Priority Claims (1)
TW 101107034 A · Mar 2, 2012 · national
Continuity (1)
Related Publication 20130232287A1 · Sep 5, 2013