Runtime Firmware Filter for Multi-OS Adaptability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware systems lack adaptability to sporadic release schedules and do not effectively filter or patch firmware changes specific to one operating system without affecting others on a multi-OS system, leading to complexity and potential issues during OS installation and boot processes.
Innovation Solution
Implementing program instructions that execute within the extended firmware interface (EFI) to modify and filter firmware data tables and runtime services, allowing for dynamic changes to firmware behavior without altering the firmware image, by inserting, patching, or filtering entries and pointers, thereby providing tailored firmware implementations for specific OS situations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single firmware image is used for multiple operating systems, then hardware resource sharing is improved, but OS-specific firmware behavior customization becomes difficult
Solution Approach 1:
A firmware filter driver is introduced as an intermediary component between the firmware image and the operating system. This driver intercepts and processes firmware calls, allowing different OSs to access a single shared firmware image while receiving OS-specific behavior customization through the filter driver's intervention layer.
Solution Approach 2:
The firmware interface is segmented into a universal firmware image layer and an OS-specific filter driver layer. The filter driver acts as a separate customizable layer that can be tailored for each operating system, while the core firmware image remains shared and unchanged across multiple OSs.
2Adaptability or versatility
If firmware is modified for specific OS situations, then OS-specific functionality is improved, but firmware image alteration is required
Solution Approach 1:
The firmware filter driver serves as a mediator that enables OS-specific functionality without modifying the firmware image. The filter driver intercepts firmware calls and provides OS-specific responses or behaviors, allowing customization without touching the firmware image itself.
Solution Approach 2:
Instead of modifying the original firmware image, a copy or derivative of the firmware interface is created through the filter driver. This derivative layer implements OS-specific behaviors while the original firmware image remains intact and unchanged.
3Adaptability or versatility
If per-OS firmware structures are implemented, then OS-specific functionality is improved, but system complexity increases
Solution Approach 1:
The firmware filter driver is designed as a universal interface that can support multiple operating systems through a single unified structure. Rather than implementing separate per-OS firmware structures, the filter driver provides a common framework that adapts to different OS requirements, reducing overall system complexity.
Solution Approach 2:
The filter driver acts as a universal intermediary layer between the firmware image and various operating systems. This single mediator handles OS-specific functionality for different OSs without requiring separate firmware structures for each OS, thereby reducing system complexity.
4Reliability
If firmware changes are made for one OS, then that OS's performance is improved, but other OSs on the system are affected
Solution Approach 1:
The firmware filter driver is configured to be OS-specific, allowing firmware changes and optimizations to be applied only to the active operating system at runtime. The filter driver intercepts and processes firmware calls specifically for the current OS, ensuring that modifications do not affect other OSs that share the same firmware image.
Solution Approach 2:
The filter driver enables dynamic firmware behavior customization based on the currently active operating system. The system can adapt firmware responses in real-time according to the running OS, allowing optimized behavior for each OS without permanent modifications to the shared firmware image or affecting other OSs.
Data Source
AI summary
Systems, devices, and methods, including program instructions, are provided for firmware filters and patches. One method embodiment includes executing extended firmware interface (EFI) program instructions during runtime to modify a firmware implementation underlying an interface and invoking the modified firmware implementation, while the original firmware code in non-volatile memory remains unmodified. A further embodiment includes adding a runtime service in an system abstraction layer (SAL) interface and adding a subordinate runtime service that describes a device not known to a firmware image on a system but useable by a particular operating system (OS).


