Updated: October 28, 2024 |
Information about the hardware platform (type of bus, devices, IRQs, etc)
The hwinfo area is one of the more complex sections of the QNX Neutrino system page. It is neither a single structure nor an array of the same type of structure. Rather, it is a sequence of symbolically tagged structures that together describe the hardware installed on the board.
The types and constants that make up the hwinfo area are defined in ${BSP_ROOT_DIR}/src/hardware/startup/lib/public/sys/hwinfo.h and other header files in other directories such as ${BSP_ROOT_DIR}/src/hardware/startup/lib/public/hw/ and ${BSP_ROOT_DIR}/src/hardware/startup/lib/ within your BSP. The startup library's init_hwinfo() function populates this area.
The hwinfo area doesn't need to describe all of the hardware. For instance, the startup program doesn't have to do PCI queries to discover what's been plugged into every slot.
As the startup implementor, you must decide how complete the hwinfo description needs to be. A good rule to start with is that if a component is fixed to your board, you should include its description in the hwinfo area.
The sysinfo.h file defines all predefined items and tags. You can create additional items and tags, but you should limit these to just what's needed for your system.
/hw/bus/devclass/device