A firmware-based mechanism for creating, storing and retrieving
variable-length records associated with error events occurring in a
computer platform. The mechanism responds to error notifications by
invoking a firmware-based error-handling module. The error-handling
module retrieves processor-specific error information and may also
interrogate the other components of the computer platform to determine
their error status. Then, according to the nature of the discovered
errors, the error-handling module may assemble the retrieved error
information and status information into a variable-length error record,
which the error-handling module may then store in a memory. On request
from a processing agent, the error-handling module may retrieve a
previously-stored error record and present it to the requesting agent.
Thus, the invention provides a unified and standardized approach to
computer error handling at the firmware level.