4
Retrieve the position and length of the DMI structures.
5
Calculate the check-sum value for the DMI structures.
6
Verify this value against the check-sum given for the DMI structures.
DMI Sub-Structure Tables
Each type of table has a pre-defined format. Although the structure can evolve over time, new
fields are always added to the end of the table and the length value reflects this new size.
To parse several tables in order to find a specific table, simply use the table length. Using this
method will ensure that the parser can function even when the tables evolve over time.
To locate specific BIOS information, use the DMI sub-structure tables which are listed on the
following pages.
Type 1 : BIOS Information
Field
Offset
Length
Value
Description
Type
0h
1 byte
1
BIOS information table
Length
1h
1 byte
15h
Table length (in bytes)
Vendor
2h
4 bytes
(DWORD)
variable
Far pointer to string containing BIOS
vendor name.
BIOS Version
6h
4 bytes
(DWORD)
variable
Far pointer to string containing BIOS
version number.
BIOS Starting
Address
Ah
2 bytes
(WORD)
variable
Segment location of BIOS starting
address, i.e. E800h.
BIOS Release
Date
Ch
4 bytes
(DWORD)
variable
Far pointer to string containing BIOS
release date.
BIOS
Characteristics
10h
4 bytes
(DWORD)
variable
bit field
Bit field value indicating which functions
the BIOS supports.
BIOS ROM
Size
14h
1 byte
variable
Value indicating the size of the BIOS ROM:
0
→
→
64K,
1
→
→
128K,
2
→
→
256K,
3
→
→
512K, etc.
Type 2: Component ID
Field
Offset
Length
Value
Description
Type
0h
1 byte
2
Component ID table
Length
1h
1 byte
0Ah
Table length
Manufacturer
2h
2 bytes
(WORD)
variable
Near pointer to string containing
manufacturer’s name.
Product
4h
2 bytes
(WORD)
variable
Near pointer to string containing product
name.
Version
(Board Revision)
6h
2 bytes
(WORD)
variable
Near pointer to string containing date
code.
Serial Number
8h
2 bytes
(WORD)
variable
Near pointer to string containing serial
number.