IP Library Granted Patent US 10,747,526
Granted Patent B2
US 10,747,526 · App. 16/014,686 · Granted Aug 18, 2020

Apparatus and method to execute prerequisite code before delivering UEFI firmware capsule

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 10,747,526
App. No.
16/014,686
Granted
Aug 18, 2020
Kind
B2
Abstract

A method includes creating, by system firmware at an information handling system, a virtual Advanced Configuration and Power Interface (ACPI) bus device. A management service event is registered by a bus device driver corresponding to the virtual ACPI bus device. The management service event, when executed, determines whether a target device is in a condition to receive revised firmware.

Claims (53)

1. A method comprising:

creating, by system firmware at an information handling system, an Advanced Configuration and Power Interface (ACPI) ID corresponding to a virtual ACPI bus device;

providing a bus device driver corresponding to the virtual ACPI bus device;

registering, by the bus device driver, a management service event, the management service event, when executed, to determine whether a target device is in a condition to receive revised firmware;

creating, by the bus device driver, a virtual child device corresponding to the virtual ACPI bus device;

providing a function driver corresponding to the virtual child device;

receiving an updated version of the function driver from an update server, the updated version of the function driver including a firmware capsule containing the revised firmware for the target device; and

registering, by the function driver, a second management service event, the second management service event, when executed, to determine whether the target device is in a condition to receive the revised firmware.

2. The method of claim 1 , further comprising:

storing the revised firmware for the target device at a storage device;

initiating a reboot of the information handling system; and

storing the revised firmware at a firmware memory associated with the target device.

3. The method of claim 1 , wherein the target device is a Trusted Platform Module (TPM).

4. The method of claim 3 , wherein determining whether the state of the target device is in a condition to receive revised firmware comprises determining that the TPM is not owned by an application executing at the information handling system.

5. The method of claim 1 , wherein the target device is a basic input/output system (BIOS) at the information handling system, and the revised firmware is BIOS firmware.

6. The method of claim 1 , wherein the target device is a docking station, and determining whether the target device is in a condition to receive revised firmware comprises determining that the docking station is functionally coupled to the information handling system.

7. The method of claim 1 , wherein the management service event is configured to determine whether the state of the target device is in a condition to receive the revised firmware independent of a status at an Extensible Firmware Interface system resource table.

8. The method of claim 1 , wherein in response to determining that a second target device is in a condition to receive revised firmware, the method further comprises:

creating, by the bus device driver, a second virtual child device;

providing a second function driver corresponding to the second virtual child device of the virtual ACPI bus device; and

receiving an updated version of the second function driver from a Windows Update server, the updated version of the second function driver including a firmware capsule containing revised firmware for the second target device.

9. An information handling system comprising:

a processor;

a target device and corresponding firmware; and

a memory device to store system firmware, the system firmware executable by the processor to:

create an Advanced Configuration and Power Interface (ACPI) ID corresponding to a virtual ACPI bus device;

provide a bus device driver corresponding to the virtual ACPI bus device; and

cause the bus device driver to register a management service event, the management service event, when executed, to determine whether the target device is in a condition to receive revised firmware,

wherein in response to determining that the target device is in a condition to receive revised firmware, the system firmware is further to:

create, by the bus device driver, a virtual child device corresponding to the virtual ACPI bus device;

provide a function driver corresponding to the virtual child device, the function driver to register a second management service event, the second management service event, when executed, to determine whether the target device is in a condition to receive the revised firmware; and

receive an updated version of the function driver from an update server, the updated version of the function driver including a firmware capsule containing the revised firmware for the target device.

10. The information handling system of claim 9 , wherein the system firmware is further to:

store the revised firmware for the target device at a storage device;

initiate a reboot of the information handling system; and

store the revised firmware at a firmware memory associated with the target device.

11. The information handling system of claim 9 , wherein the target device is a basic input/output system (BIOS) at the information handling system, and the revised firmware is BIOS firmware.

12. The information handling system of claim 9 , wherein the management service event is configured to determine whether the target device is in a condition to receive the revised firmware independent of a status at an Extensible Firmware Interface system resource table.

13. The information handling system of claim 9 , wherein in response to determining that a second target device is in a condition to receive revised firmware, the system firmware is further to:

create, by the bus device driver, a second virtual child device corresponding to the virtual ACPI bus device;

provide a second function driver corresponding to the second virtual child device; and

receive an updated version of the second function driver from a Windows Update server, the updated version of the second function driver including a firmware capsule containing revised firmware for the second target device.

14. A method comprising:

creating, by system firmware at an information handling system, an Advanced Configuration and Power Interface (ACPI) ID corresponding to a virtual ACPI bus device;

providing a bus device driver corresponding to the virtual ACPI bus device, the bus device driver to determine whether a target device is in a condition to receive revised firmware;

in response to determining, by the bus device driver, that the target device is in a condition to receive the revised firmware, creating a virtual child device corresponding to the virtual ACPI bus device;

providing a function driver corresponding to the virtual child device; and

receiving an updated version of the function driver from a Windows Update server, the updated version of the function driver including a firmware capsule containing the revised firmware for the target device,

wherein the bus device driver is to determine whether the target device is in a condition to receive the revised firmware by registering a management service event, the management service event, when executed, to determine whether the target device is in a condition to receive the revised firmware.

15. The method of claim 14 , wherein in response to determining that a second target device is in a condition to receive revised firmware, the method further comprises:

creating, by the bus device driver, a second virtual child device;

providing a second function driver corresponding to the second virtual child device; and

receiving an updated version of the second function driver from a Windows Update server, the updated version of the second function driver including a firmware capsule containing revised firmware for the second target device.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2019
From: SAMUEL, BALASINGH PONRAJ; DOWNUM, STEVEN A.; JOSHI, ANAND P.
To: DELL PRODUCTS, LP
Reel/Frame 049056/0449 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →