Firmware Function Invocation via Runtime Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The use of software System Management Interrupts (SMIs) to invoke firmware services can lead to security issues due to context switching and may be unavailable in certain systems, limiting the functionality of operating systems and applications.
Innovation Solution
A method is provided to invoke firmware functions without requiring software SMIs, using runtime services that allow applications to access and define custom firmware functions mapped to variable names, enabling the execution of various firmware functions through Get and Set services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software SMI is used to invoke firmware services, then firmware functions can be accessed, but security issues arise due to context switching and memory access
Solution Approach 1:
The patent extracts the firmware function invocation mechanism from the software SMI context switching environment and relocates it to a runtime service execution model. This allows firmware functions to be accessed directly through standardized runtime service calls (such as EFI Runtime Services) without invoking the full SMM context switch, thereby eliminating the security vulnerabilities associated with SMRAM access while preserving firmware functionality.
Solution Approach 2:
The patent introduces an intermediary layer in the form of runtime services that act as a mediator between the operating system and firmware functions. Instead of directly switching to SMM environment, the runtime service interface provides a controlled pathway for OS applications to invoke firmware services, maintaining security boundaries while enabling necessary firmware access.
2Adaptability or versatility
If software SMI is used to invoke firmware services, then firmware functions can be accessed, but O/S kernel drivers are required which may contain programming errors
Solution Approach 1:
The patent extracts the firmware service invocation from the kernel driver dependency chain by implementing a runtime service interface that can be called from user-mode applications. This eliminates the requirement for O/S kernel drivers to access firmware services, removing the source of potential programming errors and fatal system errors while maintaining reliable firmware functionality.
3Device complexity
If hardware implementation does not include software SMI support, then system simplicity is maintained, but firmware function accessibility is limited
Solution Approach 1:
The patent implements a universal runtime service interface that provides firmware function accessibility across diverse hardware platforms. The runtime services layer is designed to be hardware-agnostic, allowing the same interface to work whether or not the underlying hardware supports software SMI. This multi-functional approach ensures firmware accessibility is maintained through alternative execution paths on platforms with simplified hardware implementations.
Data Source
AI summary
A computer system firmware is provided that includes functionality for allowing a calling application to invoke firmware functions through the use of firmware services for getting and setting firmware variables. Firmware functions may be defined and mapped to firmware variable names. When a request is received by the firmware to get or set a value for a particular firmware variable, the firmware determines whether a custom firmware function has been defined that corresponds to the requested firmware variable. If a custom function has been defined that corresponds to the requested firmware variable, then the corresponding custom function is executed rather than the requested get or set operation. A firmware setup application might utilize this mechanism to obtain information from a firmware for use in modifying the configuration of a computer system that would not otherwise be available to the setup application.


