smbios keys deprecated

David Zeuthen david at fubar.dk
Wed Feb 28 15:04:15 PST 2007


On Wed, 2007-02-28 at 21:44 +0000, Richard Hughes wrote:
> Hey,
> 
> Attached are two patches against hal and hal-info that deprecate the
> smbios.* keys and replace them with:
> 
> smbios.system.manufacturer	-> system.hardware.manufacturer
> smbios.system.product		-> system.hardware.product
> smbios.system.version		-> system.hardware.version
> smbios.system.serial		-> system.hardware.serial
> smbios.system.uuid		-> system.hardware.uuid
> smbios.bios.vendor		-> system.firmware.vendor
> smbios.bios.version		-> system.firmware.version
> smbios.bios.release_date	-> system.firmware.release_date
> smbios.chassis.manufacturer	-> system.chassis.manufacturer
> smbios.chassis.type		-> system.chassis.type
> 
> This means stuff like OLPC and N800 doesn't have to use the
> smbios.bios.* prefix for system firmware and is therefore more abstract.
> 
> This is important to get in before 0.5.9 as hal-info spec can't change
> after it's formally released.
> 
> The old keys are copied from the new names, so everything should work as
> it used to.

In general I'm in favor of this but am a bit unhappy just basing our
abstraction on what SMBIOS provides and how the smbios namespace was
constructed (which was done solely by looking at dmidecode). So some
thinking about whether this is really a good abstraction would be
useful. Also, there's some annoying inconsistencies right now e.g.

 system.hardware.manufacturer
 system.firmware.vendor

we should probably use 'vendor' for both. Or perhaps we need subvendor
too just like PCI. That requires thinking about how the real world
works, e.g. what about Alienware that rebrands Dell machines? Also, at
the very least having some kind of 

 system.firmware.type = 'smbios', 'omap', 'linuxbios', 'efi'

or whatever as well as

 system.hardware.type = 'pc', 'pc98', 'apple-ppc', 'apple-intel'

might be useful. So that requires a lot of thinking (am not saying what
I proposed above is right).

There's also things in the patch like this 

> +                <literal>system.firmware.release_date</literal> (string)
> +              </entry>
> +              <entry></entry>
> +              <entry>No</entry>
> +              <entry>
> +                The release date of the BIOS.

that probably needs tuning up. I think you meant s/BIOS/firmware/ for
example.

So I think this requires more work. Thanks!

      David




More information about the hal mailing list