Secure Application Firmware Environment Emulating SMM
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches for interacting with system firmware services are limited by the lack of support for non-x86 platforms, as legacy x86 real-mode interfaces, UEFI, and SMI/SMM are not compatible with ARM processors, leading to difficulties in accessing firmware services across different hardware and operating systems.
Innovation Solution
The Secure Application Firmware Environment (SAFE) provides a simulated System Management Mode (SMM) that mimics the attributes of SMM on x86 CPUs, allowing firmware services to be utilized on both x86 and non-x86 platforms without modifying source code, enabling OS-independent firmware services and memory management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If legacy x86 real-mode interfaces are used to interact with firmware, then firmware services can be accessed on x86 platforms, but the interfaces are not supported on non-x86 platforms and cannot access memory above 1 MB
Solution Approach 1:
The patent introduces a standardized interface layer that acts as an intermediary between applications and firmware services. This interface layer translates platform-specific calls into a unified set of firmware service invocations, enabling cross-platform compatibility without requiring platform-specific code paths in the firmware itself.
Solution Approach 2:
The firmware service interface is designed to be universal, supporting multiple processor architectures (x86, ARM, etc.) and operating systems through a single standardized API. The firmware implementation remains architecture-independent while providing consistent service access across different platforms.
2Adaptability or versatility
If UEFI runtime services are used to interact with firmware, then services can be accessed on UEFI platforms, but the interfaces cannot be supported on non-UEFI firmware or operating systems
Solution Approach 1:
The patent creates a universal interface layer that mediates between diverse platform-specific interfaces (including UEFI) and the firmware services. This intermediary translates UEFI-specific runtime service calls into the standardized firmware service interface, enabling non-UEFI platforms to access firmware services without requiring UEFI support in the firmware.
Solution Approach 2:
The interface layer is segmented into platform-specific components and a universal firmware service component. The platform-specific part handles UEFI, legacy, or other architecture-specific calls, while the universal part provides consistent firmware service access, allowing independent evolution of each layer.
3Reliability
If System Management Interrupt (SMI) is used to interact with firmware on x86 platforms, then secure firmware services can be accessed, but SMI and SMM do not exist on ARM platforms
Solution Approach 1:
The standardized interface layer serves as an intermediary that translates architecture-specific secure access mechanisms (x86 SMI/SMM, ARM TrustZone, etc.) into a unified secure firmware service interface. This maintains security guarantees while enabling cross-platform support by abstracting away the underlying hardware-specific mechanisms.
Solution Approach 2:
The patent changes the approach from hardware-specific interrupt mechanisms to a software-based standardized interface. Instead of relying on fixed hardware interrupt vectors and modes, the system uses configurable interface parameters that can be adapted to different architectures while maintaining security through firmware-enforced access control.
4Ease of operation
If customized OS drivers are created for each operating system to access firmware, then OS-specific functionality can be achieved, but separate implementations are required for each operating system and hardware platform
Solution Approach 1:
The standardized firmware service interface acts as an intermediary layer between OS drivers and firmware services. OS drivers interact with this unified interface rather than requiring direct firmware knowledge, enabling OS-specific functionality through the interface while maintaining a single implementation across all platforms and operating systems.
Solution Approach 2:
The firmware service interface is designed with universal functionality that can serve multiple operating systems and hardware platforms through a single implementation. The interface provides OS-independent service discovery, invocation, and parameter passing mechanisms that work across different OSes without requiring customized drivers for each combination.
Data Source
AI summary
Techniques for firmware providing a simulated system management mode (SMM) while being executed by a non-x86 platform, such as an ARM platform. In response to receiving a service call from an OS interface driver, the firmware may determine a requested service identified by the service call. Thereafter, the firmware may identify an appropriate service handler to perform the requested service. After the appropriate service handler performs the requested service, the appropriate service handler notifies the OS interface driver. Since the SMM is emulated by the firmware, the firmware may execute on an x86 platform or a non-x86 platform, such as an ARM platform.


