IP Library Patent Application 15637070
Patent Application
App. No. 15/637,070

Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof

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 None
App. No.
15/637,070
Abstract

A method of computer processor execution of an UEFI shell in a computer system for entering into a power saving mode, the UEFI shell is located in a memory, the memory is connected to the processor, the method comprising: executing, by the processor, the UEFI shell; when executing the UEFI shell: initiating a call to a power saving library; retrieving corresponding power configuration data; retrieving and storing hardware registers data to memory; and enabling system control interrupt and configuring power-saving control registers with the power configuration data.

Claims (75)

1 . A method of computer processor execution of an UEFI shell in a computer system for entering into a power saving mode, the UEFI shell located in a memory, the memory is connected to the processor, the method comprising:

executing, by the processor, the UEFI shell;

when executing the UEFI shell:

(S 1 ) initiating a call to a power saving library;

(S 2 ) retrieving corresponding power configuration data;

(S 3 ) retrieving and storing hardware registers data to memory; and

(S 4 ) enabling system control interrupt, initiating flushing of CPU internal caches, and configuring power-saving control registers with the power configuration data.

2 . The method of claim 1 , wherein before the step of initiating the call to the power saving library, further comprising:

executing an application running with the power saving library, wherein the power saving library is a Shell S 3 library corresponding to the Advanced Configuration and Power Interface (ACPI) Standard.

3 . The method of claim 1 , wherein the step of retrieving corresponding power configuration data further comprising:

retrieving relative Advanced Configuration and Power Interface (ACPI) data via standard ACPI tables and storing into an S 3 data object.

4 . The method of claim 1 , wherein the step of retrieving and storing hardware registers data to memory further comprising:

storing 8259 Programmable Interrupt Controller (PIC) data to memory;

storing High Precision Event Timer (HPET) data to memory;

storing Peripheral Component Interconnect (PCI) and Peripheral Component Interconnect Express (PCI-e) data to memory;

storing Input/Output Advanced Programmable Interrupt Controller (I/O APIC) data to memory; and

storing local APIC data to memory.

5 . The method of claim 1 , wherein the step of retrieving and storing hardware registers data to memory further comprising:

Retrieving chipset specific device registers data from the computer system and storing to memory.

6 . The method of claim 5 , further comprising:

Via system call to system BIOS, enabling system BIOS to assist in the storing of the chipset specific device register data to memory.

7 . The method of claim 1 , wherein the step of retrieving and storing hardware registers data to memory further comprising:

Retrieving board specific device registers data from the computer system and storing to memory.

8 . The method of claim 7 , further comprising:

via system call to system BIOS, enabling system BIOS to assist in the storing of the board specific device registers data to memory.

9 . The method of claim 1 , wherein the step of retrieving and storing hardware registers data to memory further comprising:

retrieving and storing central processing unit (CPU) registers data to memory.

10 . A method of computer processor execution of an UEFI shell in a computer system for recovering from a power saving mode, wherein the UEFI shell is located in a memory, the memory is connected to the processor, the method comprising:

executing, by the processor, the UEFI shell;

when executing the UEFI shell:

(R 1 ) retrieving and restoring CPU registers data from memory to CPU registers;

(R 2 ) disabling system control interrupt;

(R 3 ) retrieving and restoring hardware registers data from memory;

(R 4 ) initiating flushing of CPU internal caches; and

(R 5 ) executing reconnection of hardware controllers.

11 . The method of claim 10 , wherein the step of retrieving and restoring CPU registers data from memory to CPU registers further comprising:

validating the computer system is in a power saving mode and is set for recovery from the power saving mode.

12 . The method of claim 10 , wherein the step of retrieving and restoring CPU registers data from memory to CPU registers further comprising:

initializing at least one of Global Descriptor Table (GDT) and Interrupt Vector Table (IDT);

enabling Paging64 mode if the computer system is an x64 build; and

restoring standard CPU registers with the CPU registers data from memory.

13 . The method of claim 10 , wherein the step of restoring hardware registers data from memory further comprising:

initiating process of restoring chipset specific device registers data from memory.

14 . The method of claim 13 , further comprising:

initiating system call to system BIOS to assist restoring of chipset specific device registers data from memory.

15 . The method of claim 10 , wherein the step of restoring hardware registers data from memory further comprising:

initiating process of restoring board specific device registers data from memory

16 . The method of claim 15 , further comprising:

initiating system call to system BIOS to assist restoring of board specific device registers data from memory.

17 . The method of claim 10 , wherein the step of restoring hardware registers data from memory further comprising:

restoring standard hardware registers data from memory to the computer system.

18 . The method of claim 17 , further comprising:

restoring local Advanced Programmable Interrupt Controller (APIC) from memory;

restoring Input/Output Advanced Programmable Interrupt Controller (I/O APIC) data from memory;

restoring Peripheral Component Interconnect (PCI) and Peripheral Component Interconnect Express (PCI-e) data from memory;

restoring High Precision Event Timer (HPET) data from memory;

initializing 8254 Programmable Interval Timer of the computer system; and

restoring 8259 Programmable Interrupt Controller (PIC) data to the computer system from memory.

19 . A Computer System comprising:

a memory storing an UEFI shell for supporting UEFI applications in the computer system to enter into a power saving mode; and

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

wherein executing the UEFI firmware performs the steps of:

(S 1 ) initiating a call to a power saving library;

(S 2 ) retrieving corresponding power configuration data;

(S 3 ) retrieving and storing hardware registers data to memory; and

(S 4 ) enabling system control interrupt, initiating flushing of CPU internal caches, and configuring power-saving control registers with the power configuration data.

20 . A Computer System comprising:

a memory storing an UEFI shell for supporting UEFI applications in the computer system to recover from a power saving mode; and

a processor connected to the memory and executing the UEFI shell;

wherein executing the UEFI shell performs the steps of:

(R 1 ) retrieving and restoring CPU registers data from memory to CPU registers;

(R 2 ) disabling system control interrupt processes;

(R 3 ) retrieving and restoring hardware registers data from memory;

(R 4 ) initiating flushing of CPU internal caches; and

(R 5 ) executing reconnection of hardware controllers.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: WU, CHAO-MING
To: AMERICAN MEGATRENDS INC.
Reel/Frame 042864/0090 →