UEFI Run-Time Services Virtual Address Space Re-Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Many UEFI firmware implementations do not fully comply with the UEFI specification, leading to inefficiencies in memory re-mapping for run-time services, often requiring both old and new mappings to coexist and not optimizing virtual address space usage.
Innovation Solution
A method for re-mapping memory regions of firmware run-time services into the kernel's virtual address space, involving selecting a re-mapping policy and using the SetVirtualAddressMap API to apply new mappings, while optionally maintaining old mappings if required by the platform.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If both old and new mappings are maintained during run-time service re-mapping, then firmware compatibility is improved, but virtual address space consumption increases
Solution Approach 1:
The patent implements dynamic re-mapping policies that adapt to platform requirements. The system can switch between different re-mapping strategies (maintaining both mappings, using only new mapping, or using only old mapping) based on the specific firmware implementation needs, allowing optimal balance between compatibility and address space efficiency
Solution Approach 2:
The patent changes the mapping parameters (virtual address mappings) from static to dynamic, allowing the system to reconfigure address mappings based on platform requirements. This enables the system to optimize address space usage while maintaining compatibility when needed
2Adaptability or versatility
If run-time services are mapped to low virtual addresses for compatibility, then legacy BIOS compatibility is improved, but available kernel virtual address space decreases
Solution Approach 1:
The patent moves run-time services from the low virtual address space (0-4GB range) to the high virtual address space (>4GB range), effectively utilizing an underutilized dimension of the address space. This resolves the conflict between compatibility requirements and address space availability by operating in a different address space dimension
3Reliability
If relative offsets between run-time services memory regions are maintained, then firmware implementation requirements are satisfied, but virtual address space optimization is reduced
Solution Approach 1:
The patent implements dynamic re-mapping policies that adapt to platform requirements. The system can switch between different re-mapping strategies (maintaining both mappings, using only new mapping, or using only old mapping) based on the specific firmware implementation needs, allowing optimal balance between compatibility and address space efficiency
Solution Approach 2:
The patent changes the mapping parameters (virtual address mappings) from static to dynamic, allowing the system to reconfigure address mappings based on platform requirements. This enables the system to optimize address space usage while maintaining compatibility when needed
Data Source
AI summary
A method of re-mapping memory regions for firmware run-time services to a virtual address space of a kernel executed on a processor, includes the steps of selecting a re-mapping policy for re-mapping the memory regions for the firmware run-time services, creating a new mapping according to the selected re-mapping policy, and making a call to an application programming interface exposed by the firmware to apply the new map and re-map the memory regions for the firmware to the virtual address space of the kernel.


