Extension modules
Types 128 to 255 are left by the specification to the vendors, which give
them to structures of their own, so the same type means different things on
the platforms of different vendors. The structures of these types are
described by the extension modules, one for each vendor, which are enabled
for the platforms of their vendors as the data is read, or with the global
--module option. Structures no enabled module describes are shown as raw
data. The global --no-auto-modules option leaves the modules of the platform
disabled, and the modules the tool is built with are listed by
opendmi modules.
The platform is told from the vendor of the firmware, of the system, of the baseboard and of the processors, which are given by the structures of types 0, 1, 2 and 4, and from the name of the product of the system.
| Module | Vendor | Enabled for |
|---|---|---|
|
Acer |
Firmware or systems of Acer |
|
AMI |
Firmware of AMI |
|
Apple |
Firmware of Apple |
|
Dell |
Firmware of Dell |
|
HP and HPE |
Servers of HP and HPE: ProLiant, Apollo, Synergy and Edgeline |
|
Intel reference code |
Platforms with Intel processors |
|
Intel Rack Scale Design |
Enabled with |
|
IBM and Lenovo |
Firmware or system of IBM or Lenovo |
|
Sun |
Enabled with |
Structures a module describes are listed by opendmi types --module, and
their layouts are described in the part of this manual about the
specifications. The name of a module is what the --module option takes,
both as a global option, which enables the module, and as a filter option of
show, list and export, which limits the output to the structures the
module describes.
Modules of several vendors
Two modules may describe structures of the same type, e.g. the module of a
vendor and the one of the Intel reference code, which the firmware of any
vendor may carry. The modules enabled with --module take precedence over the
ones enabled for the platform, and a module enabled for the platform is left
disabled if it describes a type another enabled module describes too. The
intel module gives way to the other modules instead, and describes only the
types they leave free.
Some vendors place the structures of the Intel reference code at types other
than the original ones, since those are taken by structures of their own. The
modules of these vendors move the structures of the intel module to the
types the vendor places them at, or leave them out if the platforms of the
vendor never carry them.
Some types are given by a vendor to several structures, which are told from each other by the data they hold, e.g. by a signature at a known offset, and a structure which matches none of them is left as raw data.
acer
Structures of the Acer laptops, whose firmware is often made by other vendors, e.g. Insyde, so the module is enabled by the vendor of either the firmware or the system.
| Type | Code | Name |
|---|---|---|
170 |
|
Acer hotkey functions |
171 |
|
Acer device list |
ami
Module of the firmware of AMI. It describes no structures yet, and is reserved for the ones the firmware of AMI adds.
apple
Structures of the firmware of Macs, laid out as the AppleSmBios.h header of
OpenCore describes them. The module is enabled by the vendor of the firmware,
which OpenCore sets to Apple on the other systems too. Apple gives types 130
and 131 to structures of its own, which the Intel structures of the same types
are told apart from by their signatures.
| Type | Code | Name |
|---|---|---|
128 |
|
Apple firmware volume information |
130 |
|
Apple memory SPD data |
131 |
|
Apple processor type information |
132 |
|
Apple processor bus speed information |
133 |
|
Apple platform feature information |
134 |
|
Apple SMC version information |
dell
Structures of the Dell platforms, which the module is enabled for by the vendor of either the firmware or the system, and by the firmware of Unisys, which carries the firmware of Dell on the servers Dell makes for Unisys. Dell gives types 221 and 222 to structures of its own, and places the structures of the Intel reference code 16 types lower: the management engine interface at type 203, the firmware version information at type 205 and the milestones of the Silicon View Technology at type 206. Some platforms, e.g. Precision Tower 3620, place them 16 types higher instead: the management engine interface at type 235 and the firmware version information at type 237.
| Type | Code | Name |
|---|---|---|
177 |
|
Dell BIOS flags |
178 |
|
Dell hotkeys |
208 |
|
Dell revisions and IDs |
209 |
|
Dell parallel port |
210 |
|
Dell serial port |
211 |
|
Dell infrared port |
212 |
|
Dell indexed IO |
213 |
|
Dell protected area type 1 |
214 |
|
Dell protected area type 2 |
216 |
|
Dell video BIOS information |
218 |
|
Dell calling interface |
219 |
|
Dell device bay |
220 |
|
Dell token references, type 1 |
221 |
|
Dell token references, type 2 |
223 |
|
Dell memory module identifiers |
225 |
|
Dell device names |
255 |
|
Dell system ID record |
hpe
Structures of the HP and HPE servers, which the module is enabled for when the name of the product of the system names a server line: ProLiant, Apollo, Synergy or Edgeline. Workstations and laptops of HP have structures of their own, which the module does not describe.
Some structures have changed their layouts over the generations of the
servers, which are told from the name of the product: G1 to G7 up to
G7, and Gen8 onwards, with Plus for the refreshed ones, e.g.
ProLiant DL360 Gen10 Plus. Structures of these types, e.g. type 226, are
decoded by the layout of the generation of the server. Type 245 has two
layouts too, which are told by the type of the board the structure describes,
a riser of a server or one of an MHS platform. The servers give types 219 and
221 to structures of their own, and never carry the structures of the Intel
reference code, which are left out.
| Type | Code | Name |
|---|---|---|
193 |
|
HP/HPE other ROM information |
194 |
|
HP/HPE Super I/O enable/disable indicator |
195 |
|
HP/HPE server system ID |
197 |
|
HP/HPE processor specific information |
199 |
|
HP/HPE CPU microcode patch support information |
202 |
|
HP/HPE DIMM location record |
203 |
|
HP/HPE device correlation record |
204 |
|
HP/HPE system/rack locator |
209 |
|
HP/HPE BIOS PXE NIC PCI and MAC information |
211 |
|
HP/HPE processor TControl information |
212 |
|
HP/HPE 64-bit CRU information |
216 |
|
HP/HPE version indicator record |
219 |
|
HP/HPE ProLiant information |
221 |
|
HP/HPE BIOS iSCSI NIC PCI and MAC information |
224 |
|
HP/HPE trusted module status |
226 |
|
HP/HPE physical attribute information |
226 |
|
HP/HPE physical attribute information |
229 |
|
HP/HPE reserved memory location |
230 |
|
HP/HPE power supply information |
232 |
|
HP/HPE DIMM attributes record |
233 |
|
HP/HPE NIC PCI and MAC information |
236 |
|
HP/HPE HDD backplane FRU information |
237 |
|
HP/HPE DIMM vendor information |
238 |
|
HP/HPE USB port connector correlation record |
239 |
|
HP/HPE USB device correlation record |
240 |
|
HP/HPE firmware inventory record |
242 |
|
HP/HPE hard drive inventory record |
244 |
|
HP/HPE DIMM current configuration record |
245 |
|
HP/HPE extension board inventory record |
245 |
|
HP/HPE extension board inventory record |
intel
Structures of the Intel reference code, which the firmware of the platforms with Intel processors carries whatever its vendor is. The module gives way to the modules of the vendors, which give the same types to structures of their own, and describes only the types they leave free.
The firmware lists some of these structures in group associations (type 14)
of well-known names: $MEI for the management engine interface,
Firmware Version Info for the firmware version information and
Intel® Silicon View Technology for the milestones of the Silicon View
Technology. opendmi lint checks that the members of these groups are the
structures the names stand for, wherever the vendor places them.
| Type | Code | Name |
|---|---|---|
130 |
|
Intel Active Management Technology information |
131 |
|
Intel vPro information |
219 |
|
Intel Management Engine interface information |
221 |
|
Intel firmware version information |
222 |
|
Intel Silicon View Technology milestones |
222 |
|
Intel Silicon View Technology milestones, aligned layout |
intel-rsd
Structures of Intel Rack Scale Design, which describe the devices of a system
to the management software of the rack. They are found only on the platforms
built to the specification, and take the types the vendors give to structures
of their own, so the module is enabled with --module only.
| Type | Code | Name |
|---|---|---|
190 |
|
Intel RSD network card information |
192 |
|
Intel RSD PCIe information |
193 |
|
Intel RSD processor CPUID information |
194 |
|
Intel RSD storage device information |
195 |
|
Intel RSD Trusted Platform Module (TPM) information |
196 |
|
Intel RSD TXT information |
197 |
|
Intel RSD memory device extended information |
198 |
|
Intel RSD FPGA information |
199 |
|
Intel RSD cabled PCIe port information |
200 |
|
Intel RSD physical device mapping information |
lenovo
Structures of the IBM and Lenovo platforms. Types 135 and 140 are given to several structures, which are told from each other by the signatures they begin with: the OEM structures of known layouts by the signature along with their number and revision, and the rest of them, the OEM data structures, by the signature alone.
| Type | Code | Name |
|---|---|---|
131 |
|
Lenovo ThinkVantage Technologies enablement |
135 |
|
Lenovo ThinkPad device presence detection |
135 |
|
Lenovo bay I/O |
135 |
|
Lenovo mobile PC OEM data |
140 |
|
Lenovo ThinkPad embedded controller program |
140 |
|
Lenovo OEM data |
sun
Structures of the Sun servers, which extend the standard structures of the
processors, the memory and the ports, and describe the PCI Express root
complexes. The module is enabled with --module only.
| Type | Code | Name |
|---|---|---|
132 |
|
Sun processor extended information |
136 |
|
Sun port extended information |
138 |
|
Sun PCI-express root complex information |
144 |
|
Sun memory array extended information |
145 |
|
Sun memory device extended information |