Device Tree to ACPI Conversion for Edge OS Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Supporting operating systems and hypervisors on low-end and deeply embedded devices at the edge of a network is challenging due to the lack of ACPI support, which is exhaustive and complex to implement, especially when these devices are not SBSA compliant.

Innovation Solution

A method is provided to generate boot tables for devices by converting device information into ACPI format, using features like _DSD device properties, to populate ACPI tables with information about hardware components, even if they do not correspond to the standard boot information, ensuring compatibility and functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ACPI support is implemented on low-end and deeply embedded devices, then hardware abstraction and OS compatibility are improved, but device complexity and implementation difficulty increase significantly

Engineering Contradiction:
ImproveOS compatibilityVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary conversion process that translates device tree data into ACPI format. This intermediary layer allows low-end embedded devices to benefit from ACPI-based OS compatibility without requiring direct ACPI implementation, thus reducing implementation complexity while maintaining adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of hardware description information by converting device tree data structures into ACPI table formats. This copying approach enables the system to leverage existing ACPI processing infrastructure without modifying the underlying device architecture or adding complex ACPI support directly to the hardware

Inventive Principle:
Principle #26Copying

2Loss of information

If device tree data is converted to ACPI format for each hardware component, then hardware description completeness is improved, but data processing time and conversion complexity increase

Engineering Contradiction:
Improvehardware description completenessVSAvoidconversion time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts only the essential hardware description information from device tree data that is needed for ACPI compatibility. By selectively extracting relevant components and properties rather than converting entire device tree structures, the system maintains hardware description completeness while reducing conversion time and processing overhead

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If ACPI tables are generated for non-SBSA compliant devices, then system boot compatibility is improved, but firmware complexity and development effort increase

Engineering Contradiction:
Improveboot compatibilityVSAvoidfirmware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal conversion mechanism that handles both SBSA-compliant and non-SBSA compliant devices through a single device tree to ACPI translation process. This multi-functional approach enables broad boot compatibility across different device types without requiring separate firmware implementation paths, thereby reducing overall firmware complexity

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

Data Source

PatentUS11263019B2Method for converting device tree data into ACPI data for edge device operating in a network
Publication Date: 2022.03.01 VMWARE INC
  • US11263019B2 patent drawing
  • US11263019B2 patent drawing
  • US11263019B2 patent drawing

AI summary

A method for generating boot tables for a device having access to device information. It is determined whether there exists at least one system boot table stored in a memory. If it is determined that a system boot table does not exist, the device information is retrieved, and the device information is converted to at least one boot table. The converting includes generating a first boot table by populating the first boot table with information of components of the device that have a correspondence to a computer system boot information standard. The generating also includes generating a second boot table for another component of the device that does not have a correspondence to the computer system boot information standard, by creating an entry in the second boot table that is populated with an identifier used to find a compatible component defined in the computer system boot standard.