[LinuxBIOS] SMBIOS tables or alternate.
yasteve at gmail.com
Wed Dec 19 16:43:59 CET 2007
On Wed, 2007-12-19 at 11:17 +0100, Carl-Daniel Hailfinger wrote:
> On 19.12.2007 01:35, Marc Jones wrote:
> > Steve Isaacs wrote:
> AFAICS Steve is talking about SMBIOS, not SMI. SMBIOS is sort of an
> asset management helper. With a chassis type, serial number and some
> information about the base baord you can use management applications to
> determine where a specific machine is used (generate a list of serial
> numbers from all machines, look which machine has the wanted serial number).
> It should be possible to generate the SMBIOS structure in a similar way
> to how we generate e820 tables.
Yes, thank you. That is precisely what I'm referring to.
The requirement I'm struggling with is for our Linux based applications
to be able to identify the hardware and firmware (part numbers and
revision numbers) it is running on for support and update reasons. The
applications I'm referring to will be running on LinuxBIOS and
commercial BIOS machines with custom hardware. A consistent means of
identifying either is needed. SMBIOS (System Management BIOS
http://www.dmtf.org/standards/smbios/) can be used for this purpose.
In short, the SMBIOS spec says that the pattern "_SM_" along with a
check-sum is embedded within the BIOS code and in the normal BIOS image
address range. There is also a pointer to a linked list of structures
(similar to PCMCIA config structures) which identify the hardware and
its characteristics including serial numbers and revision number (what I
need). Utilities named getSystemId and dumpSmbios can be installed in
Linux and used to retrieve this information or applications can scan the
address range themselves.
Fortunately, it is not a requirement for me to itemize all of the
devices. For example, the serial ports, sata drives, pci devices or usb
devices do not need DMI blocks. There are other mechanisms for handling
those. I believe the scope can (and should) be limited to part numbers,
serial numbers and revisions.
That said, from what I've seen in other replies, if I want to conform to
SMBIOS specifications in LinuxBIOS I'll need to figure out how to
implement it. Right now I'm trying to understand how difficult it would
be to support this standard or find another way. Since this is not
actually used until after Linux is running there are other options but
at the moment I'm thinking from a user space and kernel space
perspective a single mechanism that comes with the hardware (so to
speak) is best and simplest.
More information about the coreboot