IP Library Granted Patent US 8,078,637
Granted Patent B1
US 8,078,637 · App. 11/495,218 · Granted Dec 13, 2011

Memory efficient peim-to-peim interface database

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 8,078,637
App. No.
11/495,218
Granted
Dec 13, 2011
Kind
B1
Abstract

An efficient PEIM-to-PEIM interface (“PPI”) database for storing data identifying one or more PPIs. The PPI database includes a linked list having one or more linked arrays of elements. The elements in each array store data identifying a PPI. Each array in the linked list of arrays may also include an element reserved for storing data identifying the last element in the array. Each array in the linked list of arrays may also include an element reserved for storing a pointer to a next array in the linked list of arrays. When the last array in the linked list of arrays becomes full, a new array is created, and a pointer to the new array is stored in the last array.

Claims (14)

1. A computer-implemented method for storing data identifying a pre-extensible firmware interface initialization module (PEIM)-to-PEIM interface (PPI) in a pre-extensible firmware interface initialization environment, the method comprising performing computer-implemented operations for:

creating a PPI database for storing the data identifying the PPI, the PPI database comprising a linked list having two or more linked arrays of elements, wherein one or more of the elements of each array store data identifying a PPI including a pointer to a PPI descriptor for the PPI, wherein each array includes an element reserved for storing data identifying the last element in the array and an element reserved for storing a pointer to a next array in the linked list of arrays, wherein the PPI descriptor includes a globally unique identifier (GUID), a pointer to an interface provided by a corresponding PEIM, and one or more flags for indicating whether the PPI includes an additional GUID and pointer and whether a notification should be provided when the PPI is installed or reinstalled, wherein the PPI database is configured for use entirely in the pre-extensible firmware interface initialization environment prior to memory initialization.

2. A computer-implemented method for storing data identifying a pre-extensible firmware interface initialization module (PEIM)-to-PEIM interface (PPI) in a pre-extensible firmware interface initialization environment, the method comprising performing computer-implemented operations for:

creating a PPI database, the PPI database comprising a first array having one or more elements storing data identifying a PPI, an element storing an end indicator for identifying the last element in the array, and a next array element storing a pointer to a second array in the PPI database;

receiving a request to add a new PPI to the PPI database;

in response to the request to add a new PPI to the PPI database,

determining whether the first array is full,

storing data identifying the PPI in an element of the first array if the first array is not full, and

if the first array is full, creating the second array in the database, storing the data identifying the PPI in an element of the second array, and storing a pointer to the second array in the next array element of the first array;

wherein the data identifying the PPI comprises a pointer to a PPI descriptor, wherein the PPI descriptor comprises a globally unique identifier (GUID) and a pointer to an interface provided by a corresponding PEIM, wherein the PPI descriptor further comprises one or more flags for indicating whether the PPI includes an additional GUID and pointer, and wherein the flags are further operative to indicate whether a notification should be provided when the PPI is installed or reinstalled in the database.

3. A non-transitory computer storage medium having a data structure stored thereon, the data structure storing data identifying a pre-extensible firmware interface initialization module (PEIM)-to-PEIM interface (PPI) in a pre-extensible firmware interface initialization environment, the data structure comprising:

a first array having one or more elements storing data identifying a PPI, an element storing an end indicator for indicating the last element in the array, and a next array element storing a pointer to a next array in the linked list;

a second array having one or more elements storing data identifying a PPI, an element storing an end indicator for indicating the last element in the second array, and a next array element storing a pointer to a next array in the linked list, and wherein the next array element of the first array stores a pointer to the second array;

wherein the one or more elements storing data identifying a PPI store a pointer to a PPI descriptor contained in a PEIM, and wherein the PPI descriptor comprises a globally unique identifier (GUID), a pointer to an interface provided by a corresponding PEIM, one or more flags for indicating whether the PPI includes an additional GUID and pointer, and one or more flags indicating whether a notification should be provided when the PPI is installed or reinstalled.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
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 Jul 28, 2006
From: POLYUDOV, FELIKS
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 018139/0578 →