IP Library Granted Patent US 10,866,881
Granted Patent B1
US 10,866,881 · App. 16/784,393 · Granted Dec 15, 2020

Firmware debug trace capture

Inventors: Michael Harry Deiderich, III (Duluth, GA); Matthew Hoffmann (Duluth, GA); Thomas Gilreath (Sugar Hill, GA)
Assignee: American Megatrends International, LLC
G06F11/3636G06F11/3664G06F9/4401
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,866,881
App. No.
16/784,393
Granted
Dec 15, 2020
Kind
B1
Abstract

A method for firmware debug trace capture includes creating a hand-off block (“HOB”), capturing first debug trace statements during a boot sequence of a computer and writing the first debug trace statements to the HOB. A trace memory buffer can be created and the first debug trace statements can be copied from the HOB to the trace memory buffer. Second debug trace statements are captured during the boot sequence and appended to the trace memory buffer. In some configurations, the first debug trace statements can be written to the HOB during the pre-Extensible Firmware Interface initialization (“PEI”) phase of the boot sequence and the second debug trace statements can be written to the trace memory buffer during the driver execution (“DXE”) phase of the boot sequence.

Claims (38)

1. A computer-implemented method comprising:

generating a first debug trace statement during a first phase of a boot sequence of a computer, wherein the first phase corresponds to a pre-extensible firmware interface initialization (PEI) phase;

writing the first debug trace statement to a first memory location during the first phase;

copying the first debug trace statement from the first memory location to a second memory location;

generating a second debug trace statement during a second phase of the boot sequence of the computer; and

writing the second debug trace statement to the second memory location during the second phase.

2. The computer-implemented method of claim 1 , wherein the second phase corresponds to a driver execution environment (DXE) phase of the boot sequence of the computer.

3. The computer-implemented method of claim 1 , further comprising generating a third debug trace statement during a third phase of the boot sequence of the computer.

4. The computer-implemented method of claim 3 , further comprising:

copying the first debug trace statement and the second debug trace statement from the second memory location to data storage; and

writing the third debug trace statement to the data storage.

5. The computer-implemented method of claim 3 , wherein the third phase corresponds to a boot device selection (BDS) phase.

6. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, when executed, cause a computer to perform operations comprising:

generating a first debug trace statement during a first phase of a boot sequence of a computer, wherein the first phase corresponds to a pre-extensible firmware interface initialization (PEI) phase;

writing the first debug trace statement to a first memory location during the first phase;

copying the first debug trace statement from the first memory location to a second memory location;

generating a second debug trace statement during a second phase of the boot sequence of the computer; and

writing the second debug trace statement to the second memory location during the second phase.

7. The non-transitory computer-readable storage medium of claim 6 , wherein the second phase corresponds to a driver execution environment (DXE) phase of the boot sequence of the computer.

8. The non-transitory computer-readable storage medium of claim 6 , wherein the operations further comprise generating a third debug trace statement during a third phase of the boot sequence of the computer.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise:

copying the first debug trace statement and the second debug trace statement from the second memory location to data storage; and

writing the third debug trace statement to the data storage.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the third phase corresponds to a boot device selection (BDS) phase.

11. A computing device, comprising:

a processor; and

a memory having computer-executable instructions stored thereupon which, when executed by the processor, cause the computing device to:

generate a first debug trace statement during a first phase of a boot sequence of a computer, wherein the first phase corresponds to a pre-extensible firmware interface initialization (PEI) phase;

write the first debug trace statement to a first memory location during the first phase;

copy the first debug trace statement from the first memory location to a second memory location;

generate a second debug trace statement during a second phase of the boot sequence of the computer; and

write the second debug trace statement to the second memory location during the second phase.

12. The computing device of claim 11 , wherein the second phase corresponds to a driver execution environment (DXE) phase of the boot sequence of the computer.

13. The computing device of claim 11 , wherein execution of the computer-executable instructions further causes the computing device to generate a third debug trace statement during a third phase of the boot sequence of the computer.

14. The computing device of claim 13 , wherein execution of the computer-executable instructions further causes the computing device to:

copy the first debug trace statement and the second debug trace statement from the second memory location to data storage; and

write the third debug trace statement to the data storage.

15. The computing device of claim 13 , wherein the third phase corresponds to a boot device selection (BDS) phase.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0948 →
SECURITY INTEREST Recorded Apr 30, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 067274/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2020
From: DEIDERICH, MICHAEL HARRY, III; HOFFMANN, MATTHEW; GILREATH, THOMAS
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 051748/0957 →
ENTITY CONVERSION Recorded Feb 7, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 051842/0767 →