IP Library Granted Patent US 9,910,684
Granted Patent B2
US 9,910,684 · App. 14/779,969 · Granted Mar 6, 2018

Extensible firmware abstraction

Inventor: Terry Ping-Chung Lee (Antelope, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F9/44521G06F8/54G06F9/44536
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,910,684
App. No.
14/779,969
Granted
Mar 6, 2018
Kind
B2
Abstract

A method for extensible firmware abstraction includes creating a null library and adding null library dependencies to the null library's build file. The null library is associated with a shared firmware module that depends on the null library dependencies for successful execution. A computer processor executes the build file, null library, and shared firmware module to impose the null library dependencies on execution of the shared firmware module.

Claims (34)

1. A method for extensible firmware abstraction comprising:

creating a null library with a build file;

adding null library dependencies to the null library's build file;

associating the null library with a shared firmware module that depends on the null library dependencies for successful execution; and

executing, by a computer processor, the build file, the null library, and the shared firmware module to impose the null library dependencies on execution of the shared firmware module.

2. The method of claim 1 , in which the null library is not named and has no executable source code other than a dummy entry point function.

3. The method of claim 1 , in which the null library is an EDK II library.

4. The method of claim 1 , in which adding the null library dependencies to a section of the null library's build file comprises adding the null library dependencies to a dependency section of an INF build file.

5. The method of claim 1 , further comprising, prior to creating the null library, determining additional dependencies for executing the shared firmware module on a new hardware platform that are not currently present in firmware.

6. The method of claim 1 , in which associating the null library with a shared firmware module comprises associating the null library with the shared firmware module by editing an existing DSC build file.

7. The method of claim 1 , in which executing the build file, null library, and shared firmware module comprise executing the null library dependencies prior to executing the shared firmware module that depends on the null library dependencies.

8. The method of claim 1 , further comprising:

creating a new library class that returns a current value of an address for a computing platform with an addressing scheme not natively supported by shared firmware modules;

create a platform specific DSC build file that includes reference to the new library class;

transferring the platform specific DSC build file, libraries in the new library class and the shared firmware modules to ROM of the computing platform; and

executing, by the computer processor in the computing platform, the platform specific DSC build file, libraries within the new library class, and shared modules to address target locations identified by the addressing scheme.

9. The method of claim 1 , wherein adding null library dependencies to the null library's build file comprises adding the dependencies to a dependency expression section of the build file.

10. A method for extensible firmware abstraction comprising:

creating a new library class that returns the current value of an address for a computing platform with an addressing scheme not natively supported by shared firmware modules;

create a platform specific DSC build file that includes reference to the new library class;

transferring the platform specific DSC build file, libraries in the new library class and shared firmware modules to ROM of the computing platform; and

executing, by a processor in the computing platform, the platform specific DSC build file, libraries within the new library class, and shared modules to address target locations in the addressing scheme that is not natively supported by the shared firmware modules.

11. The method of claim 10 , in which the addressing scheme that is not natively supported by the shared firmware modules comprises runtime virtual mode addressing.

12. A computing platform comprising:

a processor;

nonvolatile memory accessible to the processor;

firmware comprising machine readable instructions stored in the nonvolatile memory, the machine readable instructions for execution by the processor, the machine readable instructions comprising:

shared modules with an incomplete set of execution dependencies or incomplete addressing scheme for successful execution by the computing platform; and

platform specific library modules that supply additional dependencies using at least one null library or an additional addressing scheme for successful execution by the shared modules without modification of the shared modifies by using at least one translation library class to translate an address to native computing platform.

13. The computing platform of claim 12 , in which the platform specific library modules comprise a null library with no executable source code other than a dummy entry point function.

14. The computing platform of claim 13 , in which the firmware further comprises an INF build file for the null library with a dependency section, wherein the dependency section comprises an additional dependency.

15. The computing platform of claim 14 , in which the firmware further comprises a DSC file associating the null library with a shared module such that the shared module inherits the additional dependency from the null library.

16. The computing platform of claim 12 , in which the platform specific library modules comprise a translation library class to return a current value of an address for the computing platform with an addressing scheme not natively supported by shared firmware modules.

17. The computing platform of claim 12 , wherein the platform specific library modules comprise a null library.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2017
From: LEE, TERRY PING-CHUNG
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041474/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
Continuity (1)
Related Publication 20160154657A1 · Jun 2, 2016