Firmware assisted error handling scheme
AssigneeIntel Corporation
InventorsMohan Kumar, Sarathy Jayakumar
Life of this patent
Estimating the term…
Abstract
A firmware assisted error handling scheme in a computer system has been disclosed. In one embodiment, firmware is used to access one or more hardware-specific error registers within the computer system in response to a system management interrupt (SMI) trap. Using the firmware, an error record in a common error record format is constructed. The error record is made available to an operating system (OS) within the computer system.
Claims24
A method comprising:
- using firmware to abstract error information for an operating system (OS) within a computer system, the error information from disparate sources in the computer system, the error information abstracted from platform specific error registers of one of various different platforms, wherein the disparate sources comprise a central processing unit, memory controller, and input/output controller, and wherein the error information is abstracted from different platform error record formats based on different vendor formats for the central processing unit, memory controller, and input/output controller;
- constructing an error record using the error information, the error record in a common error record format useable by the operating system;
- depositing the error record into two or more abstracted error access registers comprising memory buffers visible to the OS;
- making the error information available to the OS by the firmware presenting to the OS, the two or more abstracted error access registers comprising memory buffers visible to the OS;
- the operating system accessing the error record from the two or more abstracted error access registers, without platform specific knowledge of the platform specific error registers;
- and
- using the firmware to support platform error injection, wherein a request to inject errors from the OS is trapped and is fulfilled by the firmware transparently to the OS.
The method according to claim 16, wherein the operating system accesses the error record and corrects the error without platform specific knowledge from the abstracted error access registers.
An apparatus comprising:
- platform firmware executable on a trap to abstract an interface for error information to an operating system (OS), the error information from disparate sources in the computer system, the error information abstracted from platform specific error registers of one of various different platform, wherein the disparate sources comprise a central processing unit, memory controller, and input/output controller, and wherein the error information is abstracted from different platform error record formats based on different vendor formats for the central processing unit, memory controller, and input/output controller;
- and
- two or more platform abstracted error access registers to trap to the platform firmware, wherein the platform firmware is executable to abstract error information for the OS and to make the error information available to the OS by:
- constructing an error record using the error information, the error record in a common error record format useable by the operating system;
- depositing the error record into two or more platform abstracted error access registers comprising memory buffers visible to the OS;
- presenting to the OS, the two or more platform abstracted error access registers comprising memory buffers visible to the OS;
- the operating system accessing the error record from the two or more abstracted error access registers, without platform specific knowledge of the platform specific error registers;
- and
- using the firmware to support platform error injection, wherein a request to inject errors from the OS is trapped and is fulfilled by the firmware transparently to the OS.
A non-transitory machine-accessible medium that provides instructions that, if executed by a processor, will cause the machine to perform operations comprising:
- using firmware to abstract error information for an operating system (OS) within a computer system, the error information from disparate sources in the computer system, the error information abstracted from platform specific error registers of one of various different platforms, wherein the disparate sources comprise a central processing unit, memory controller, and input/output controller, and wherein the error information is abstracted from different platform error record formats based on different vendor formats for the central processing unit, memory controller, and input/output controller;
- constructing an error record using the error information, the error record in a common error record format useable by the operating system;
- depositing the error record into two or more abstracted error access registers comprising memory buffers visible to the OS;
- making the error information available to the OS by the firmware presenting to the OS, the two or more abstracted error access registers comprising memory buffers visible to the OS;
- the operating system accessing the record from the two or more abstracted error access registers, without platform specific knowledge of the platform specific error registers;
- and
- using the firmware to support platform error injection, wherein a request to inject errors from the OS is trapped and is fulfilled by the firmware transparently to the OS.
A method comprising:
- using firmware to abstract error information for an operating system (OS) within a computer system, the error information from at least two disparate sources in the computer system, the error information abstracted from platform specific error registers of various different platforms, wherein the different platform error record formats comprise different vendor formats for each of the at least two disparate sources;
- constructing an error record using the error information, the error record in a common error record format useable by the operating system;
- depositing the error record into two or more abstracted error access registers comprising memory buffers visible to the OS;
- making the error information available to the OS by the firmware presenting to the OS, the two or more abstracted error access registers comprising memory buffers visible to the OS;
- the operating system accessing the error record from the two or more abstracted error access registers, without platform specific knowledge of the platform specific error registers;
- and
- using the firmware to support platform error injection, wherein a request to inject errors from the OS is trapped and is fulfilled by the firmware transparently to the OS.
Dependencies are inferred from the claim text.