Driver Atlas

When Software Outpaces Silicon

Why a package can describe capabilities that the physical device, firmware, or transport cannot provide.

Software has a vocabulary of possibility

A driver may expose an interface with optional operations, but the device still has to advertise and implement those operations. Software can be prepared for a capability without the current hardware instantiating it.

Firmware and hardware set limits

Registers, descriptors, memory, clocks, queues, and transport features constrain what a device can do. A host package cannot create a physical resource that the device does not expose through its contract.

Capability discovery is the bridge

Standards use descriptors, feature queries, IDs, and status fields to tell software which parts of an interface are present. Correct layering treats those declarations as evidence rather than assuming every optional path exists.

Version language needs care

A newer package can add interpretation or expose a new interface while an unchanged device remains on the same hardware boundary. Package version, firmware version, and silicon revision should remain separate facts.

Reference facts

Constraint
Software cannot create hardware resources absent from the device contract.
Evidence
Descriptors and capability fields connect package expectations to device reality.

Questions and answers

Can a driver add a hardware feature?

It can provide software interpretation or policy for a feature the device exposes, but it cannot manufacture a physical capability outside the device and firmware contract.

Why separate firmware and driver versions?

They identify code in different locations with different lifecycles: persistent device code versus host-side software.

Further reading