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 are defined in the ${BSP_ROOT_DIR}/install/usr/include/sys prebuilt/user/include/hw/sysinfo.h file shipped with your BSP. The startup library's init_hwinfo() function populates this area.


The hwinfo system page area doesn't need to describe all 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 of the system page.

Predefined items and tags

The sysinfo.h file defines all the predefined items and tags. You can create additional items and tags, but you should limit these to just the additional items and tags that you need for you system.

  • All items and tags are defined as HWI_TAG_NAME_*, HWI_TAG_ALIGN_*, and struct hwi_*.
  • The tag name of every item structure must start with an uppercase letter.
  • The tag names of tags that aren't items must start with a lowercase letter.

Device trees

Items in the hwinfo section of the system page are organized into trees that describe the hardware devices on the board. The hierarchical organization for these trees is as follows:



The root of the hardware tree.
The bus the hardware is on (pci, eisa, etc.; see Bus item).
The general class of the device (serial, rtc, etc.; see Group item).
The actual chip implementing the device (8250, mc146818, etc.; see Device item).