Firmware Error Injection Interface for Microprocessor Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microprocessor systems face challenges in testing software error handlers due to the difficulty in injecting hardware errors without specialized and costly hardware tools, and existing error injection interfaces vary across processor revisions, requiring extensive re-coding of software.
Innovation Solution
A software interface is defined between operating system and application software and processor/platform firmware to inquire about and task error injection capabilities, allowing for the injection of hardware errors without detailed knowledge of the error injection interface, using a query mode and injection command mode with error hierarchy levels to support various error types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If specialized hardware tools are used for error injection, then error injection capability is achieved, but cost and device complexity increase significantly
Solution Approach 1:
The patent introduces firmware as an intermediary layer between the software error handler and the hardware error injection interface. The firmware exposes a standardized error injection interface that abstracts the complex hardware details, allowing software to test error handlers through a simplified interface without directly interacting with the complex hardware error injection mechanisms.
Solution Approach 2:
The patent creates a software-based emulation of hardware error injection through firmware. Instead of requiring physical hardware error injection tools, the system emulates error injection capabilities in firmware, which can be controlled through standard software interfaces. This emulation approach maintains the functional capability while eliminating the need for expensive specialized hardware.
2Measurement precision
If error injection interface is customized for each processor revision, then error injection accuracy is improved, but software re-coding requirements increase
Solution Approach 1:
The patent implements a universal error injection interface through firmware that works across multiple processor revisions. The firmware layer provides a standardized interface that can accommodate different hardware configurations without requiring software re-coding. This universal interface maintains error injection accuracy for each processor revision while eliminating the need for software customization.
Solution Approach 2:
The patent uses parameter changes in the firmware to adapt the error injection interface to different processor revisions. Instead of changing the software interface, the firmware adjusts its internal parameters and behavior based on the specific processor revision, allowing the same software to work correctly across different hardware versions.
3Reliability
If hardware error injection is implemented, then error handler testing is enabled, but cost of specialized hardware increases
Solution Approach 1:
The patent replaces the mechanical/hardware-based error injection system with a firmware-based software emulation. Instead of using physical hardware error injection tools, the system uses firmware that can be programmed to simulate error conditions. This substitution eliminates the need for expensive specialized hardware while maintaining the ability to test error handlers reliably.
Solution Approach 2:
The patent creates a software-based copy of the hardware error injection functionality through firmware. The firmware emulates the behavior of hardware error injection mechanisms, providing the same functional capability without requiring the actual specialized hardware. This emulation approach significantly reduces cost while maintaining testing capability.
Data Source
AI summary
A system and method for injecting hardware errors into a microprocessor system is described. In one embodiment, a software interface between system software and system firmware is established. Software test and debug for software error handlers may thus be supported. The software interface may support both a query mode call and a seed mode call. When a query mode call is issued, it may request whether or not the system firmware and hardware support the injection of a specified kind of error. A return from this call may be used to make a list of supported errors for injection. When a seed mode call is issued, the corresponding error may be injected into the hardware.


