IP Library Granted Patent US 8,185,886
Granted Patent B2
US 8,185,886 · App. 11/768,356 · Granted May 22, 2012

Method and apparatus to enable dynamically activated firmware updates

Assignee: Intel Corporation
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,185,886
App. No.
11/768,356
Granted
May 22, 2012
Kind
B2
Abstract

Dynamic updating of firmware in a processing system without performing a system reset may be accomplished by allocating memory space for updated firmware in a dynamic random access memory of the processing system during the system initialization process for the processing system; receiving the updated firmware during runtime of the processing system; validating the updated firmware; storing the updated firmware into the allocated memory space when the updated firmware is validated; and setting a pointer variable indicating the start of a portion of the firmware to point to the start of the updated firmware stored in the allocated memory space.

Claims (48)

1. A method of dynamically updating firmware in a processing system without performing a system reset comprising:

allocating memory space for updated firmware in a dynamic random access memory of the processing system during system initialization process for the processing system;

receiving the updated firmware during runtime of the processing system;

validating the updated firmware;

storing the updated firmware into the allocated memory space when the updated firmware is validated; and

setting a pointer variable indicating the start of a portion of the firmware to point to the start of the updated firmware stored in the allocated memory space, wherein the portion of the firmware comprises a runtime service;

calling, by an operating system, the runtime service;

verifying that the runtime service is not corrupt;

checking for the presence of the updated firmware in the dynamic random access memory associated with the called runtime service;

validating the updated firmware if present;

accessing the updated firmware to be used over the firmware using the pointer variable when the updated firmware is validated without performing a system reset.

2. The method of claim 1 , wherein the pointer variable comprises a patched entry point of the portion of the firmware.

3. The method of claim 1 , wherein the processing system comprises an extensible firmware interface (EFI) architecture, and the runtime service comprises at least one of an image service and a memory service.

4. The method of claim 1 , further comprising updating the firmware on a non-volatile memory of the processing system using the updated firmware stored in the dynamic random access memory upon a system reset.

5. The method of claim 1 , wherein memory space is allocated according to a policy.

6. A processing system comprising:

a non-volatile memory adapted to store firmware;

a dynamic random access memory adapted to stored updated firmware; and

a processor adapted to dynamically update firmware without performing a system reset by

allocating memory space for updated firmware in the dynamic random access memory during system initialization process for the processing system;

receiving the updated firmware during runtime of the processing system;

validating the updated firmware;

storing the updated firmware into the allocated memory space when the updated firmware is validated; and

setting a pointer variable indicating the start of a portion of the firmware to point to the starting of the updated firmware stored in the allocated memory space, wherein the portion of the firmware comprises a runtime service;

calling, by an operating system, the runtime service;

verifying that the runtime service is not corrupt;

checking for the presence of the updated firmware in the dynamic random access memory associated with the called runtime service;

validating the updated firmware if present; and

accessing the updated firmware to be used over the firmware using the pointer variable when the updated firmware is validated without performing a system reset.

7. The processing system of claim 6 , wherein the pointer variable comprises a patched entry point of the portion of the firmware.

8. The processing system of claim 6 , wherein the processing system comprises an extensible firmware interface (EFI) architecture, and the runtime service comprises at least one of an image service and a memory service.

9. The processing system of claim 6 , wherein the processor is further adapted to update the firmware on a non-volatile memory of the processing system using the updated firmware stored in the dynamic random access memory upon a system reset.

10. The processing system of claim 6 , wherein memory space is allocated according to a policy.

11. An article comprising:

a machine accessible medium containing instructions, which when executed by a processor in a processing system, result in dynamically updating firmware in the processing system without performing a system reset by

allocating memory space for updated firmware in a dynamic random access memory of the processing system during system initialization process for the processing system;

receiving the updated firmware during runtime of the processing system;

validating the updated firmware;

storing the updated firmware into the allocated memory space when the updated firmware is validated; and

setting a pointer variable indicating the start of a portion of the firmware to point to the start of the updated firmware stored in the allocated memory space, wherein the portion of the firmware comprises a runtime service;

calling, by an operating system, the runtime service;

verifying that the runtime service is not corrupt;

checking for the presence of the updated firmware in the dynamic random access memory associated with the called runtime service;

validating the updated firmware if present; and

accessing the updated firmware to be used over the firmware using the pointer variable when the updated firmware is validated without performing a system reset.

12. The article of claim 11 , wherein the pointer variable comprises a patched entry point of the portion of the firmware.

13. The article of claim 11 , wherein the processing system comprises an extensible firmware interface (EFI) architecture, and the runtime service comprises at least one of an image service and a memory service.

14. The article of claim 11 , further comprising instructions to update the firmware on a non-volatile memory of the processing system using the updated firmware stored in the dynamic random access memory upon a system reset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2009
From: ROTHMAN, MICHAEL A.; ZIMMER, VINCENT J.
To: INTEL CORPORATION
Reel/Frame 023391/0946 →
Continuity (1)
Related Publication 20090007089A1 · Jan 1, 2009