Linker Script Resolving VM Configuration Table References

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, system configuration tables provided by the hypervisor to virtual machines face challenges in resolving inter-table references and maintaining checksum integrity due to unknown base addresses during memory allocation, which complicates the loading process.

Innovation Solution

A linker script is executed by the virtual machine to resolve inter-table references and adjust checksums, ensuring correct loading and alignment of system configuration tables by utilizing base addresses of allocated memory buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If system configuration tables are provided by the hypervisor to virtual machines in virtualized environments, then hardware abstraction and virtualization efficiency are improved, but resolving inter-table references and maintaining checksum integrity becomes complex due to unknown base addresses during memory allocation

Engineering Contradiction:
Improvevirtualization efficiencyVSAvoidloading process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The linker script is prepared in advance with placeholder references to configuration tables. The script contains pre-defined structure definitions and reference relationships between tables, which are resolved later when base addresses are known. This preliminary preparation separates the table definition phase from the address resolution phase, simplifying the overall loading process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The linker script acts as an intermediary component between the hypervisor-provided configuration tables and the virtual machine loader. It contains symbolic references that mediate the resolution of inter-table pointers, allowing the loader to resolve addresses systematically rather than dealing with direct complex interdependencies.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If configuration tables are loaded with unknown base addresses, then memory allocation flexibility is improved, but checksum validation and reference resolution become difficult

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidchecksum integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Checksums are calculated and stored in the configuration tables during the preliminary table creation phase, before memory allocation. The linker script preserves these checksums and uses them after address resolution to validate the loaded tables, ensuring integrity is maintained despite the delayed address binding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The configuration table loading process is segmented into distinct phases: table creation with checksum calculation, memory allocation with unknown addresses, address resolution via linker script, and final checksum validation. This segmentation allows each phase to handle its specific requirements independently, maintaining reliability throughout the process.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If inter-table references are resolved after memory allocation, then memory allocation simplicity is improved, but reference resolution complexity increases

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidreference resolution difficulty
Core Design Contradiction:
Ease of manufactureVSDifficulty of detecting and measuring

Solution Approach 1:

The linker script serves as an intermediary that systematically resolves inter-table references after memory allocation. It contains symbolic names and reference relationships that automate the resolution process, reducing the difficulty of detecting and resolving pointers between tables compared to manual or ad-hoc methods.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The linker script enables the configuration tables to self-resolve their inter-table references. By containing the necessary symbolic information and reference structures within the script itself, the system performs reference resolution autonomously without requiring external intervention or complex external resolution mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10514942B2Using linker scripts for loading system configuration tables
Publication Date: 2019.12.24 RED HAT ISRAEL
  • US10514942B2 patent drawing
  • US10514942B2 patent drawing
  • US10514942B2 patent drawing

AI summary

Systems and methods for using linker scripts for loading system configuration tables. An example method may comprise: packaging, by a host computer system, a first system configuration table and a second system configuration table into one or more memory image files; providing a script comprising a first instruction to load the memory image files into a memory of a virtual machine being executed by the host computer system, the script further comprising a second instruction to resolve, in view of a base address, a reference by the first system configuration table to the second system configuration table; and providing the memory image files and the script to the virtual machine.