Dynamic BIOS Global Variable Fix-Up for ROM Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customizing BIOS for each combination of processors, chipsets, and motherboards is a time-consuming task due to the need for precise adaptation and integration of code modules, especially when BIOS is stored in non-volatile memory like ROM or EEPROM, where changes are difficult and cumbersome.

Innovation Solution

Implementing a method that uses dynamic fix-up of global variables by translating relative addresses into absolute addresses on the fly, allowing chipset integration modules to be inserted into BIOS without requiring knowledge of their final base address, simplifying the integration process and reducing the need for manual adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If BIOS is customized for each combination of processors, chipsets, and motherboards by manually integrating code modules into non-volatile memory, then the BIOS can be precisely adapted to specific hardware configurations, but the customization process becomes time-consuming and cumbersome

Engineering Contradiction:
ImproveBIOS adaptation precisionVSAvoidcustomization time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining standard interface conventions and module structures before integration. Code modules are designed with standardized entry points, data structures, and addressing conventions that allow them to be pre-compiled and stored without knowing their final execution context. This preliminary standardization enables rapid integration during customization without time-consuming manual adjustments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by implementing runtime address translation and configuration parameter loading. Instead of hardcoding absolute addresses in non-volatile memory, the system loads configuration parameters that define base addresses and offsets for different hardware combinations. This allows the same BIOS image to be adapted to various processor-chipset-motherboard combinations by changing parameters rather than recompiling the entire BIOS.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If code modules are integrated into BIOS stored in non-volatile memory with fixed base addresses, then the BIOS structure remains stable and predictable, but the integration process becomes complex and requires precise address calculations

Engineering Contradiction:
ImproveBIOS structure stabilityVSAvoidintegration complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer between the fixed non-volatile memory storage and the runtime execution environment. This intermediary consists of configuration data structures and address translation mechanisms that reside in volatile memory or are loaded during initialization. These intermediaries absorb the complexity of address calculations and module placement, allowing modules to be integrated with relative or placeholder addresses that are resolved at runtime without disrupting the stable fixed-address structure of the stored BIOS.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If manual adjustments and reconfiguration are performed to integrate code modules into BIOS, then precise hardware adaptation is achieved, but the process requires extensive manual intervention and expertise

Engineering Contradiction:
Improvehardware adaptation reliabilityVSAvoidintegration ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling code modules to automatically configure themselves upon integration. Modules contain metadata that identifies their hardware requirements, interface conventions, and expected parameters. During the integration process, the system automatically matches modules with appropriate hardware configurations based on this metadata, eliminating the need for manual intervention. The modules then self-configure their addresses and connections based on the detected hardware environment, ensuring reliable adaptation without requiring expert manual adjustment.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8738887B2Dynamic fix-up of global variables during system BIOS execution
Publication Date: 2014.05.27 ADVANCED MICRO DEVICES INC
  • US8738887B2 patent drawing
  • US8738887B2 patent drawing
  • US8738887B2 patent drawing

AI summary

A method is described for preserving the flexibility associated with relative memory addressing in programs designed to be stored in read-only memory.