IP Library Granted Patent US 9,501,289
Granted Patent B2
US 9,501,289 · App. 14/583,229 · Granted Nov 22, 2016

Method of a UEFI firmware and computer system thereof

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,501,289
App. No.
14/583,229
Granted
Nov 22, 2016
Kind
B2
Abstract

A computer system includes a memory storing an UEFI firmware and a processor. The UEFI firmware supports pre-boot initialization of a plurality of different bootloader programs, wherein the UEFI firmware has a plurality of instructions and a plurality of configuration data for different bootloader programs. The processor is operatively coupled to the memory and is used to execute the instructions of the UEFI firmware, wherein the instructions include performing the steps of: detecting type of instruction set of the processor; determining, by the processor, a bootup selection mode according to a mode selection, wherein the bootup selection mode corresponds to the detected type of instruction set, and the mode selection corresponds to the type of a bootloader program for execution after the UEFI firmware; retrieving, by the processor, a common configuration data from a plurality of configuration data of the UEFI firmware from the memory; retrieving, by the processor, a distinct configuration data from the plurality of configuration data of the UEFI firmware corresponding to the bootup selection mode from the memory, wherein the distinct configuration data comprises processor instruction sets and runtime services; generating a bootloader address corresponding to the bootup selection mode; and executing, according to the common configuration data and the distinct configuration data, the bootloader program located in a storage corresponding to the bootloader address.

Claims (54)

1. A method of computer processor execution of UEFI firmware supporting pre-boot initialization of a bootloader program from a plurality of bootloader programs, the UEFI firmware located in a memory, the memory operatively coupled to the processor, the method comprising:

executing, by the processor, the UEFI firmware;

when executing the UEFI firmware:

detecting type of instruction set of the processor;

determining a bootup selection mode according to a mode selection, wherein the bootup selection mode corresponds to the detected type of instruction set, and the mode selection corresponds to the type of a bootloader program for execution after the UEFI firmware;

retrieving, by the processor, a common configuration data from a plurality of configuration data of the UEFI firmware from the memory;

retrieving, by the processor, a distinct configuration data from the plurality of configuration data of the UEFI firmware corresponding to the bootup selection mode from the memory, wherein the distinct configuration data comprises processor instruction sets and runtime services;

generating a bootloader address corresponding to the bootup selection mode; and

executing, according to the common configuration data and the distinct configuration data, the bootloader program located in a storage corresponding to the bootloader address.

2. The method of claim 1 , wherein the step of determining the bootup selection mode further comprising:

receiving, by the processor, a selection instruction from an interface device; and

determining the bootup selection mode from the selection instruction.

3. The method of claim 2 , wherein the interface device is an input/output device that is coupled to the processor and detected by the UEFI firmware, and the selection instruction is generated by the input/output device.

4. The method of claim 1 , wherein the step of determining the bootup selection mode further comprising:

determining, by the processor, prior to the step of executing the bootloader program, whether a bootup marker has been set in the configuration data of the UEFI firmware, wherein the bootup marker indicates a particular bootloader program:

if the bootup marker has been set, configuring by the processor the bootup selection mode to correspond to the bootloader program indicated by the bootup marker;

if the bootup marker has not been set, configuring by the processor the bootup selection mode according to a default bootloader.

5. The method of claim 4 , wherein after the step of determining whether the bootup marker has been set, further comprising:

setting, by the processor, the default bootloader according to the bootup selection mode.

6. The method of claim 4 , wherein the graphical user interface comprises a plurality of mode choices, the method further comprising:

receiving, by the processor, a selection instruction associated with the graphical user interface; and

determining the bootup selection mode from the selection instruction.

7. The method of claim 1 , wherein prior to the step of determining the bootup selection mode, further comprising:

outputting, by the processor, a graphical user interface for a display device respectively coupled to the processor.

8. The method of claim 1 , wherein the step of generating the bootloader address further comprising:

detecting, when executing the UEFI firmware, the type of the instruction sets of the processor;

retrieving, by the processor, the distinct configuration data corresponding to the detected type of the instruction sets in order to respectively execute the bootloader program corresponding to the detected type of the instruction sets of the processor.

9. A Computer System comprising:

a memory storing an UEFI firmware for supporting pre-boot initialization of a plurality of different bootloader programs, wherein the UEFI firmware having a plurality of instructions and a plurality of configuration data for the different bootloader programs; and

a processor operatively coupled to the memory and executing the instructions of the UEFI firmware;

wherein the instructions performing the steps of:

detecting type of instruction set of the processor;

determining, by the processor, a bootup selection mode according to a mode selection, wherein the bootup selection mode corresponds to the detected type of instruction set, and the mode selection corresponds to the type of a bootloader program for execution after the UEFI firmware;

retrieving, by the processor, a common configuration data from a plurality of configuration data of the UEFI firmware from the memory;

retrieving, by the processor, a distinct configuration data from the plurality of configuration data of the UEFI firmware corresponding to the bootup selection mode from the memory, wherein the distinct configuration data comprises processor instruction sets and runtime services;

generating a bootloader address corresponding to the bootup selection mode; and

executing, according to the common configuration data and the distinct configuration data, the bootloader program located in a storage corresponding to the bootloader address.

10. The computer system of claim 9 , wherein the processor includes a central processing unit, and the memory includes flash memory and read-only memory.

11. The computer system of claim 9 , wherein the bootloader program corresponds to an operating system (OS) program.

12. The computer system of claim 9 , wherein the step of determining the bootup selection mode in the instructions further comprises:

receiving, by the processor, a selection instruction from an interface device; and

determining the bootup selection mode from the selection instruction.

13. The computer system of claim 12 , wherein the interface device is an input/output device that is coupled to the processor and detected by the UEFI firmware program, and the selection instruction is generated by the input/output device.

14. The computer system of claim 9 , wherein the interface device includes a touch-sensitive screen, a keyboard, a mouse device, a stylus pen, an image sensor, a sound sensor.

15. The computer system of claim 9 , wherein the step of determining the bootup selection mode in the instructions further comprises:

determining, by the processor, prior to the step of executing the bootloader program, whether a bootup marker has been set in the configuration data of the UEFI firmware, wherein the bootup marker indicates a particular bootloader program:

if the bootup marker has been set, configuring by the processor the bootup selection mode to correspond to the bootloader program indicated by the bootup marker;

if the bootup marker has not been set, configuring by the processor the bootup selection mode according to a default bootloader.

16. The computer system of claim 15 , wherein after the step of determining whether the bootup marker has been set, further comprises:

setting, by the processor, the default bootloader according to the bootup selection mode.

17. The computer system of claim 9 , further comprising a display device for displaying a graphical user interface, wherein the display device is coupled to the processor.

18. The computer system of claim 17 , wherein the graphical user interface comprises a plurality of mode choices, the steps in the instruction further comprises:

receiving, by the processor, a selection instruction associated with the graphical user interface; and

determining the bootup selection mode from the selection instruction.

Assignments (7)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
CHANGE OF NAME Recorded Aug 6, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049966/0799 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME AND ADDRESS PREVIOUSLY RECORDED ON REEL 034591 FRAME 0656. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT FROM THE INVENTORS TO AMERICAN MEGATRENDS INC.. Recorded Feb 13, 2015
From: CHEN, HSIN-HUNG; HSIEH, TUNG-HAN; HUANG, KUAN-CHIEH; SU, HO-SUI
To: AMERICAN MEGATRENDS INC.
Reel/Frame 034991/0302 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2014
From: CHEN, HSIN-HUNG; HSIEH, TUNG-HAN; HUANG, KUAN-CHIEH; SU, HO-SUI
To: AMERICAN MEGATRENDS INC., TAIWAN BRANCH
Reel/Frame 034591/0656 →