From 4d042afa499f879317b2c18dafd714751bd951ba Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Sat, 6 Feb 2010 23:26:00 -0800 Subject: sysdump: fix hacking of the DMI structure address Fix the hacking of the DMI structure address, for dmidecode's sake. Signed-off-by: H. Peter Anvin --- com32/sysdump/dmi.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/com32/sysdump/dmi.c b/com32/sysdump/dmi.c index a64e5c1e..9e57b4b7 100644 --- a/com32/sysdump/dmi.c +++ b/com32/sysdump/dmi.c @@ -69,12 +69,11 @@ static void dump_smbios(struct backend *be, size_t dptr) /* * Adjust the address of the smbios table to be 32, to - * make dmidecode happy. According to dmidecode, the checksum on - * the smbios structure doesn't need to be adjusted, for whatever - * reason... + * make dmidecode happy. The checksum on the smbios table is unchanged, + * since it includes the checksum on the dmi table. */ smx.dmi.tbladdr = sizeof smx; - smx.dmi.csum -= checksum(&smb->dmi, 0x0f); + smx.dmi.csum -= checksum(&smx.dmi, 0x0f); write_data(be, &smx, sizeof smx, false); write_data(be, (const void *)smb->dmi.tbladdr, smb->dmi.tbllen, false); @@ -92,9 +91,7 @@ static void dump_old_dmi(struct backend *be, size_t dptr) /* * Adjust the address of the smbios table to be 32, to - * make dmidecode happy. According to dmidecode, the checksum on - * the smbios structure doesn't need to be adjusted, for whatever - * reason... + * make dmidecode happy. */ fake.dmi = *dmi; memset(&fake.pad, 0, sizeof fake.pad); -- cgit