1. Field of the Invention
This invention relates to system hardware detection and, more particularly, to the detection of system components and their features and capabilities.
2. Description of the Related Art
Many computer systems include one or more system management subsystems that may employ components which are coupled to the system management subsystem via some communication path or management bus such as an I2C bus for example. The components may be general-purpose devices such as general-purpose input/output (GPIO) devices or they may be task specific devices such as temperature measurement devices. In either case, the components may be simple devices with little or no processing power. In addition, the system management subsystem may include a controller that may identify each system management device and may also manage any information retrieved from such a system management device. Further, each component may reside at a fixed location or address on the management bus. Upon system initialization, the controller may access a component and feature set map which is hard-coded into the controller. The component and feature set map may identify each of the system management devices coupled to the management bus.
However since the component and feature set map is hard-coded into a given controller, it may be difficult to interchange controllers from one system to another. In addition, it is possible that a component may be installed that either includes features not in a particular controller's feature set map or the component type is not in the controller's component map. In either case, the controller may not be able to access or control all of the component's features or may not be capable of communicating with that particular component at all.