EFI Notification System Using Platform Notification Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current firmware-based systems lack an effective mechanism for generating notifications to the operating system (OS) within computing devices, particularly for events such as peripheral topology changes and security breaches, which can lead to performance issues and security vulnerabilities.

Innovation Solution

The implementation of an Extensible Firmware Interface (EFI) notification system that uses a platform notification table in shared memory space, with a messaging interface to generate system control interrupts (SCI) and interact with the OS management module, allowing for secure and efficient communication between firmware and the OS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ACPI byte code is used for firmware functionality, then functional capability is provided, but processing overhead increases due to software interpreter requirements

Engineering Contradiction:
Improvefirmware functionalityVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSPower

Solution Approach 1:

The patent replaces the software-based ACPI byte code interpreter with native UEFI assembly code execution. This substitution eliminates the need for software interpretation, directly reducing processing overhead while maintaining firmware functionality through efficient native machine code execution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Power

If UEFI runtime features are used for firmware functionality, then execution efficiency is improved, but notification capability to OS is insufficient

Engineering Contradiction:
Improveexecution efficiencyVSAvoidevent notification capability
Core Design Contradiction:
PowerVSLoss of information

Solution Approach 1:

The patent introduces a messaging interface as an intermediary component between UEFI runtime firmware and the operating system. This interface enables efficient event notifications by leveraging the existing UEFI communication mechanisms while maintaining the performance benefits of native code execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extends the UEFI messaging interface to serve multiple functions: it provides both the efficient execution environment for runtime features and the notification mechanism for OS communication. This multi-functionality resolves the limitation of UEFI's insufficient notification capability while preserving execution efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If firmware provides enhanced security functionality, then device protection is improved, but complexity of firmware increases

Engineering Contradiction:
Improvedevice securityVSAvoidfirmware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service security mechanisms where the firmware autonomously performs security functions such as monitoring for equipment changes, verifying programs, and detecting security breaches. This self-service approach enhances device protection while minimizing the need for complex OS-level security software during critical initialization phases.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10445154B2Firmware-related event notification
Publication Date: 2019.10.15 INTEL CORP
  • US10445154B2 patent drawing
  • US10445154B2 patent drawing
  • US10445154B2 patent drawing

AI summary

This disclosure is directed to firmware-related event notification. A device may comprise an operating system (OS) configured to operate on a platform. During initialization of the device a firmware module in the platform may load at least one globally unique identifier (GUID) into a firmware configuration table. When the platform notifies the OS, the firmware module may load at least one GUID into a platform notification table and may set a platform notification bit in a platform notification table status field. Upon detecting the notification, an OS management module may establish a source of the notification by querying the platform notification table. The platform notification bit may cause the OS management module to compare GUIDs in the platform notification table and the firmware configuration table. Services may be called based on any matching GUIDs. If no GUIDs match, the services may be called based on firmware variables in the device.