BIOS Framebuffer Overlay Injection Without OS Exceptions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Information Handling Systems (IHSs) face challenges in injecting an overlay into a video framebuffer memory without triggering a host Operating System (OS) exception, particularly when returning from a hibernation state or lacking a hardware keyboard, leading to user frustration and potential security vulnerabilities.
Innovation Solution
The system employs an Embedded Controller (EC) to issue a command to the Basic Input/Output System (BIOS) to create an Advanced Configuration and Power Interface (ACPI) table with a video framebuffer memory location, allowing the BIOS to store an overlay without triggering a host OS exception, by providing information about physical memory regions and driver signatures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the BIOS writes to video framebuffer memory to display an overlay, then the overlay can be displayed on the screen, but the host Operating System may trigger an exception due to memory access conflicts
Solution Approach 1:
The patent introduces an intermediary mechanism where the BIOS creates a specialized memory region (framebuffer memory) that is explicitly allocated and marked as safe for overlay storage. This intermediary memory space acts as a mediator between the BIOS overlay display function and the host OS, allowing the BIOS to write overlay data without causing OS exceptions by using a pre-defined, OS-aware memory location.
Solution Approach 2:
The BIOS performs preliminary action by creating and configuring the framebuffer memory region before the overlay needs to be displayed. The memory region is pre-allocated and marked with appropriate attributes, ensuring that when the overlay is written to this pre-prepared memory, the host OS does not interpret it as an error or exception, thus preventing OS interruption.
2Loss of energy
If the system returns from hibernate state without a hardware keyboard, then power savings are achieved, but user input capability is lost
Solution Approach 1:
The patent implements a copy approach by creating a software-based keyboard overlay that replicates the functionality of the physical hardware keyboard. Instead of relying on the physical keyboard hardware, the system copies the keyboard interface into the framebuffer memory as a software equivalent, allowing users to input text through touchscreen interaction with the software keyboard icon even after returning from hibernate state.
Solution Approach 2:
The software keyboard overlay serves multiple functions: it provides keyboard input capability on touchscreen devices, displays as part of the overlay system, and activates only when needed (such as when returning from hibernate). This multi-functional approach allows a single overlay mechanism to handle both display purposes and input purposes, eliminating the need for separate hardware keyboard support in all scenarios.
3Reliability
If the BIOS creates an ACPI table with video framebuffer memory location, then the overlay can be stored without triggering OS exception, but the system complexity increases
Solution Approach 1:
The patent applies parameter changes by modifying the memory region attributes and ACPI table parameters to define a specialized framebuffer memory space. By changing the memory parameters (such as marking it as video memory, setting appropriate access rights, and configuring ACPI table entries), the system enables safe overlay storage without triggering OS exceptions, while the complexity is managed through standardized parameter modifications rather than custom complex logic.
Data Source
AI summary
Systems and methods for injecting an overlay into a video framebuffer memory by a Basic Input/Output System (BIOS) without triggering a host Operating System (OS) error. An Information Handling System (IHS) includes a processor and a memory coupled to the processor. The memory stores program instructions that, upon execution, cause the processor to receive a command from an Embedded Controller (EC) and create an Advanced Configuration and Power Interface (ACPI) table with a video framebuffer memory location usable to store an overlay. The EC issues the command in response to the IHS returning from a selected power state or determining that the IHS is in a selected posture. The overlay may include a software keyboard icon or an Original Equipment Manufacturer (OEM) splash screen. The host OS checks the ACPI table during boot and allows the BIOS to write to the video framebuffer memory location without triggering an error.


