IP Library Granted Patent US 12,032,436
Granted Patent B2
US 12,032,436 · App. 18/256,806 · Granted Jul 9, 2024

BIOS error locating method and apparatus, device and non-volatile storage medium

Inventors: Hongbo Zhang (Jiangsu, CN); Zhiyuan Xu (Jiangsu, CN); Bing Wang (Jiangsu, CN); Shaojun Yang (Jiangsu, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F11/079G06F11/0745
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 12,032,436
App. No.
18/256,806
Granted
Jul 9, 2024
Kind
B2
Abstract

A BIOS error locating method and apparatus, a device, and a storage medium are provided. The method includes: acquiring one or more MAP files which are generated during a compilation process of a BIOS and used for recording an entry address offset of each function; recording a base address of each function module after the BIOS is started, so as to obtain a base address log file; in response to occurrence of an EXCEPTION error during an execution process of the BIOS, executing an Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, a target function that results in the EXCEPTION error; and recording a name of the target function in a serial log, and sending the serial log to a BMC.

Claims (53)

1. A Basic Input Output System (BIOS) error locating method, comprising:

acquiring one or more MAP files which are generated during a compilation process of a BIOS and used for recording an entry address offset of each function;

recording a base address of each function module after the BIOS is started, so as to obtain a base address log file;

in response to occurrence of an EXCEPTION error during an execution process of the BIOS, executing an Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, a target function that results in the EXCEPTION error, wherein executing the Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, the target function that results in the EXCEPTION error comprises, acquiring and parsing EXCEPTION error information, so as to obtain a routing information protocol value; comparing the routing information protocol value with values in the base address column in the base address log file, so as to determine a target base address; determining a target entry address and a target MAP file according to the routing information protocol value and a preset Portable Executable (PE) specification; verifying the target MAP file by using the target base address and the target entry address, and in response to a verification result indicating that the target MAP file passes the verification, determining the target function and a name corresponding to the target function according to the routing information protocol value, the target base address and the target MAP file; and

recording a name of the target function in a serial log, and sending the serial log to a Baseboard Manager Controller (BMC).

2. The method according to claim 1 , wherein comparing the routing information protocol value with the values in the base address column in the base address log file, so as to determine the target base address comprises:

using, as a reference base address, a first base address greater than the routing information protocol value among the values in the base address column in the base address log file; and

acquiring, as the target base address, a previous base address of the reference base address in the base address log file.

3. The method according to claim 1 , wherein verifying the target MAP file by using the target base address and the target entry address comprises:

calculating a first difference value between the target entry address and the target base address;

matching the first difference value with the entry address offset in the target MAP file; and

in response to existence of a same value as the first difference value in the target MAP file, determining that the target MAP file passes the verification.

4. The method according to claim 1 , wherein determining the target function and a name corresponding to the target function according to the routing information protocol value, the target base address and the target MAP file comprises:

calculating a second difference value between the routing information protocol value and the target base address;

using, as a reference entry offset address, a first value greater than the second difference value among values in an address column in the target MAP file; and

using, as the target function, a function corresponding to a previous entry offset address of the reference entry offset address in the target MAP file, and reading the name corresponding to the target function.

5. The method according to claim 1 , further comprising:

in response to occurrence of an ERROR error and/or an ASSERT error during the execution process of the BIOS, recording, in the serial log, an ERROR function and/or an ASSERT function which results in the ERROR error and/or the ASSERT error.

6. The method according to claim 5 , further comprising:

acquiring the serial log from the BMC; and

parsing the serial log to respectively determine functions which result in the EXCEPTION error, the ERROR error, and/or the ASSERT error.

7. The method according to claim 1 , wherein the MAP file is a mapping file which is generated by compilation software during the compilation process of the BIOS and records programs, data and Input/Output (IO) spaces used by a Digital Signal Processor (DSP).

8. The method according to claim 1 , wherein the base address is an address of a code after the code is loaded into a memory, and when the BIOS is started, the base address of each executed function module and a size of the base address are recorded in the base address log file.

9. The method according to claim 1 , wherein determining the target entry address and the target MAP file according to the routing information protocol value and the preset PE specification comprises:

according to a specification for a PE Image in the preset PE specification, parsing the PE Image to obtain the target entry address of the function module and a name of the target MAP file corresponding to the PE Image.

10. A computer device, comprising a memory and one or more processors, wherein computer-readable instructions are stored in the memory, and when the computer-readable instructions are executed by the one or more processors, the one or more processors execute following operations for Basic Input Output System (BIOS) error locating:

acquiring one or more MAP files which are generated during a compilation process of a BIOS and used for recording an entry address offset of each function;

recording a base address of each function module after the BIOS is started, so as to obtain a base address log file;

in response to occurrence of an EXCEPTION error during an execution process of the BIOS, executing an Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, a target function that results in the EXCEPTION error, wherein executing the Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, the target function that results in the EXCEPTION error comprises, acquiring and parsing EXCEPTION error information, so as to obtain a routing information protocol value; comparing the routing information protocol value with values in the base address column in the base address log file, so as to determine a target base address; determining a target entry address and a target MAP file according to the routing information protocol value and a preset Portable Executable (PE) specification; verifying the target MAP file by using the target base address and the target entry address, and in response to a verification result indicating that the target MAP file passes the verification, determining the target function and a name corresponding to the target function according to the routing information protocol value, the target base address and the target MAP file; and

recording a name of the target function in a serial log, and sending the serial log to a Baseboard Manager Controller (BMC).

11. The computer device according to claim 10 , wherein comparing the routing information protocol value with the values in the base address column in the base address log file, so as to determine the target base address comprises:

using, as a reference base address, a first base address greater than the routing information protocol value among the values in the base address column in the base address log file; and

acquiring, as the target base address, a previous base address of the reference base address in the base address log file.

12. The computer device according to claim 10 , wherein verifying the target MAP file by using the target base address and the target entry address comprises:

calculating a first difference value between the target entry address and the target base address;

matching the first difference value with the entry address offset in the target MAP file; and

in response to existence of a same value as the first difference value in the target MAP file, determining that the target MAP file passes the verification.

13. The computer device according to claim 10 , wherein determining the target function and a name corresponding to the target function according to the routing information protocol value, the target base address and the target MAP file comprises:

calculating a second difference value between the routing information protocol value and the target base address;

using, as a reference entry offset address, a first value greater than the second difference value among values in an address column in the target MAP file; and

using, as the target function, a function corresponding to a previous entry offset address of the reference entry offset address in the target MAP file, and reading the name corresponding to the target function.

14. The computer device according to claim 10 , wherein when the computer-readable instructions are executed by the one or more processors, the one or more processors further execute following operation:

in response to occurrence of an ERROR error and/or an ASSERT error during the execution process of the BIOS, recording, in the serial log, an ERROR function and/or an ASSERT function which results in the ERROR error and/or the ASSERT error.

15. The computer device according to claim 14 , wherein when the computer-readable instructions are executed by the one or more processors, the one or more processors further execute following operations:

acquiring the serial log from the BMC; and

parsing the serial log to respectively determine functions which result in the EXCEPTION error, the ERROR error, and/or the ASSERT error.

16. The computer device according to claim 10 , wherein determining the target entry address and the target MAP file according to the routing information protocol value and the preset PE specification comprises:

according to a specification for a PE Image in the preset PE specification, parsing the PE Image to obtain the target entry address of the function module and a name of the target MAP file corresponding to the PE Image.

17. One or more non-transitory non-volatile computer-readable storage media storing computer-readable instructions, wherein the computer-readable instructions, when being executed by one or more processors, cause the one or more processors to execute following operations for Basic Input Output System (BIOS) error locating:

acquiring one or more MAP files which are generated during a compilation process of a BIOS and used for recording an entry address offset of each function;

recording a base address of each function module after the BIOS is started, so as to obtain a base address log file;

in response to occurrence of an EXCEPTION error during an execution process of the BIOS, executing an Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, a target function that results in the EXCEPTION error, wherein executing the Exception handling function, so as to determine, according to the base address log file and the one or more MAP files, the target function that results in the EXCEPTION error comprises: acquiring and parsing EXCEPTION error information, so as to obtain a routing information protocol value: comparing the routing information protocol value with values in the base address column in the base address log file, so as to determine a target base address; determining a target entry address and a target MAP file according to the routing information protocol value and a preset Portable Executable (PE) specification; verifying the target MAP file by using the target base address and the target entry address, and in response to a verification result indicating that the target MAP file passes the verification, determining the target function and a name corresponding to the target function according to the routing information protocol value, the target base address and the target MAP file; and

recording a name of the target function in a serial log, and sending the serial log to a Baseboard Manager Controller (BMC).

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2023
From: ZHANG, HONGBO; XU, ZHIYUAN; WANG, BING; YANG, SHAOJUN
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 063911/0518 →
Priority Claims (1)
CN 202011447497.3 · Dec 11, 2020 · national
Continuity (1)
Related Publication 20230393926A1 · Dec 7, 2023