[vbox-dev] Updating _DMI_ needs updating _SM_

Frank Mehnert frank.mehnert at oracle.com
Mon Apr 2 15:19:09 GMT 2012


Jan,

please reply to vbox-dev and not directly to me to keep other readers
in the loop.

Of course there is a BIOS checksum but this is not mentioned in the
SMBIOS specification because the SMBIOS is only a part of the normal
system BIOS.

Furthermore, as you can see in the source code, 'Entry Point Length'
is 0x1f so it includes the following DMI table. Therefore the checksum
at offset 04 includes also the DMI table.

Which Windows tool did you use to check the SMBIOS checksum?

Thanks,

Frank

On Monday 02 April 2012 17:10:52 Jan Schunk wrote:
> Additionally I looked at the definition in the standards document.
> There is no BIOS checksum in the structure. Both checksums are only
> checksum of the EP itself.
> 
> This means, other calculation has also to be changed:
> -        for (unsigned i = 0; i < pThis->cbPcBios; i++)
> 
> +        for (unsigned i = VBOX_DMI_TABLE_OFFSET; i <
> VBOX_DMI_TABLE_OFFSET + 0x10; i++)
> 
> 
> http://www.dmtf.org/sites/default/files/standards/documents/DSP0134v2.5Fina
> l.pdf
> 
> 04h Entry Point Structure  BYTE
> Checksum of the Entry Point Structure (EPS).
> This value, when Checksum  added to all other bytes in the EPS,
> will result in the value 00h (using 8-bit addition calculations).
> Values in the EPS are summed starting at offset 00h, for Entry Point
> Length bytes
> 
> 15h Intermediate Checksum BYTE
> Checksum of Intermediate Entry Point Structure (IEPS).
> This value, when added to all other bytes in the IEPS,
> will result in the value 00h (using 8-bit addition calculations).
> Values in the IEPS are summed starting at offset 10h, for 0Fh bytes.
> 
> Frank Mehnert schrieb:
> > Hi Jan,
> > 
> > On Saturday 31 March 2012 21:39:55 Jan Schunk wrote:
> >> pcbiosConstruct has now code updating the _DMI_ structure, but this also
> >> needs updating the _SM_ structure.
> > 
> > I think you are wrong. Keep in mind that the biossums utility already
> > calculated the correct checksums for the DMI structure for the whole
> > SMBIOS structure and for the whole BIOS when the code was compiled.
> > 
> > Now we change some elements in the DMI structure and adapt the checksum
> > of this structure. Because the DMI checksum is part of the whole SMBIOS
> > structure, the overall SMBIOS checksum does not change (the new DMI
> > checksum neutralizes the change in the DMI table and neither the checksum
> > for the whole BIOS changes.
> > 
> > Kind regards,
> > 
> > Frank

-- 
Dr.-Ing. Frank Mehnert
Senior Manager Software Development Desktop Virtualization, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120402/26b18619/attachment.sig>


More information about the vbox-dev mailing list