Boot Routine Device Table for Hardware Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Newer computing devices with processor circuits not rooted in Industry Standard Architecture (ISA) no longer provide hardware components' registers and buffers at rigidly defined I/O addresses, making it difficult for operating systems to detect and configure hardware devices during boot processes, as they rely on outdated PCI configuration registers.

Innovation Solution

A boot routine that creates a device table with blocks ordered to reflect the hierarchy of buses and bridge devices, ensuring core device drivers are loaded before bridge and endpoint device drivers, and communicates this information to the operating system to facilitate proper hardware detection and configuration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hardware components are accessed at rigidly defined I/O addresses as per ISA specification, then operating systems can perform hardware detection, but newer processor circuits without ISA roots cannot provide registers and buffers at such fixed addresses

Engineering Contradiction:
Improvecompatibility with newer processor circuitsVSAvoidhardware detection capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a boot routine as an intermediary layer between the hardware and the operating system. This boot routine creates a device table that maps hardware device information in a manner compatible with both traditional ISA-based systems and newer non-ISA processor circuits. The device table serves as a mediator that translates hardware presence information into a format that operating systems can reliably detect and configure, regardless of whether the underlying processor follows ISA architecture or not.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The boot routine performs preliminary actions by creating and organizing the device table before the operating system attempts to detect hardware. This advance preparation ensures that when the operating system boots, the hardware information is already structured and accessible, eliminating the need for the operating system to rely on traditional fixed I/O address methods that don't work with newer processor circuits.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If operating systems rely on PCI configuration registers for hardware detection, then hardware detection can be performed, but it becomes difficult when hardware components are dynamically memory mapped rather than fixed at specific addresses

Engineering Contradiction:
Improvesupport for dynamic memory mappingVSAvoidhardware detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements dynamic adaptability by having the boot routine create device tables that can accommodate both fixed and dynamic memory mappings. The device table structure allows hardware components to be registered at their actual memory locations whether those locations are fixed or dynamically assigned. This dynamic approach enables the system to detect and configure hardware components regardless of whether they use traditional fixed addresses or modern dynamic memory mapping schemes.

Inventive Principle:
Principle #15Dynamics

3Productivity

If device drivers are loaded without considering the hierarchy of buses and bridge devices, then loading process is simple, but bridge devices may not be enabled before endpoint devices causing configuration errors

Engineering Contradiction:
Improvedevice driver loading efficiencyVSAvoiddevice configuration correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The boot routine performs preliminary organization of device information in the device table according to the hierarchical structure of buses and bridge devices. By pre-arranging device entries in the correct hierarchical order before the operating system loads device drivers, the system ensures that bridge devices are properly enabled and configured before endpoint devices attempt to access them. This preliminary structuring maintains loading efficiency while guaranteeing configuration correctness.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If operating systems perform their own hardware detection relying on fixed addresses, then minimal data from boot software is needed, but this approach fails when hardware addresses are no longer rigidly defined

Engineering Contradiction:
Improveoperating system autonomy in hardware detectionVSAvoidcompatibility with non-ISA processor circuits
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The boot routine creates a device table that copies and structures hardware presence information in a standardized format. This copied and organized information allows operating systems to maintain their autonomous hardware detection capabilities while working with a consistent data structure that accommodates both traditional and modern hardware architectures. The device table serves as a portable representation of hardware information that bridges the gap between old and new system architectures.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10002002B2Communication of device presence between boot routine and operating system
Publication Date: 2018.06.19 INTEL CORP
  • US10002002B2 patent drawing
  • US10002002B2 patent drawing
  • US10002002B2 patent drawing

AI summary

Various embodiments are directed to creating multiple device blocks associated with hardware devices, arranging the device blocks in an order indicative of positions of the hardware devices in a hierarchy of buses and bridges, and enabling access to the multiple device blocks from an operating system. An apparatus comprises a processor circuit and storage storing instructions operative on the processor circuit to create a device table comprising multiple device blocks, each device block corresponding to one of multiple hardware devices accessible to the processor circuit, the device blocks arranged in an order indicative of relative positions of the hardware devices in a hierarchy of buses and at least one bridge device; enable access to the device table by an operating system; and execute a second sequence of instructions of the operating system operative on the processor circuit to access the device table. Other embodiments are described and claimed herein.