Skip to content

Commit

Permalink
Merge tag 'dmidecode-3-1' of https://github.com/mirror/dmidecode into…
Browse files Browse the repository at this point in the history
… mingw32

dmidecode-3-1
  • Loading branch information
g-bougard committed Jun 1, 2017
2 parents 979097f + 913b1f5 commit cfe9601
Show file tree
Hide file tree
Showing 8 changed files with 419 additions and 61 deletions.
61 changes: 61 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
2015-09-03 Jean Delvare <[email protected]>

* version.h: Set version to 3.1.

2017-05-23 Jean Delvare <[email protected]>

* dmidecode.c, dmiopt.c: Add a new option to extract OEM strings, like
we already have for many other strings.
* dmidecode.8: Document the new option.

2017-04-27 Jean Delvare <[email protected]>

Update to support SMBIOS specification version 3.1.1.

* dmidecode.c: Add support for 3-digit versions.
* dmidecode.c: Add new enumerated values for processors (DMI type 4).

2017-04-27 Jean Delvare <[email protected]>

Update to support SMBIOS specification version 3.1.0.

* dmidecode.c: Add support for extended BIOS ROM size (DMI type 0).
* dmidecode.c: Add new enumerated values for chassis types
(DMI type 3).
* dmidecode.c: Add new enumerated values for processors (DMI type 4).
* dmidecode.c: Don't assume 8-bit processor family in dmi_processor_id
(DMI type 4).
* dmidecode.c: Decode the MIDR register on ARM processors
(DMI type 4).
* dmidecode.c: Add support for large cache sizes (DMI type 7).
* dmidecode.c: Add Mini PCIe system slot enumerated values
(DMI type 9).
* dmidecode.c: Clarify the memory speed unit (DMI type 17).
* dmidecode.c: Add support for structure type 43 (TPM Device).

2017-04-11 Jean Delvare <[email protected]>

* util.c: Don't leak a file descriptor in function read_file.
* util.c, util.c, dmidecode.c: Let callers pass an offset to function
read_file.
* dmidecode.c: Fix reading from SMBIOS 3 dump files using a 64-bit
entry point.

2017-04-10 Jean Delvare <[email protected]>

* dmidecode.c: Decode the processor ID of the Intel Core M, AMD
Athlon X4 and AMD Opteron X1000/X2000 processors (DMI type 4).
* dmidecode.c: Display the IPMI interrupt number as a decimal
number (DMI type 38).

2017-01-20 Jean Delvare <[email protected]>

* biosdecode.c: Decode the entry point defined in the Intel
Multiprocessor specification.

2017-01-20 Jean Delvare <[email protected]>

* dmidecode.c: Only decode one DMI table.
This fixes Savannah bug #50022:
https://savannah.nongnu.org/bugs/?50022

2017-01-12 Guillaume Bougard <[email protected]>

* Added back support for WinNT/Win2000 platform
Expand Down
34 changes: 33 additions & 1 deletion biosdecode.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* BIOS Decode
*
* Copyright (C) 2000-2002 Alan Cox <[email protected]>
* Copyright (C) 2002-2015 Jean Delvare <[email protected]>
* Copyright (C) 2002-2017 Jean Delvare <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -52,6 +52,9 @@
* - Fujitsu application panel technical details
* As of July 23rd, 2004
* http://apanel.sourceforge.net/tech.php
* - Intel Multiprocessor Specification
* Version 1.4
* http://www.intel.com/design/archives/processors/pro/docs/242016.htm
*/

#include <stdio.h>
Expand Down Expand Up @@ -545,6 +548,34 @@ static int fjkeyinf_decode(const u8 *p, size_t len)
return 1;
}

/*
* Intel Multiprocessor
*/

static size_t mp_length(const u8 *p)
{
return 16 * p[8];
}

static int mp_decode(const u8 *p, size_t len)
{
if (!checksum(p, len))
return 0;

printf("Intel Multiprocessor present.\n");
printf("\tSpecification Revision: %s\n",
p[9] == 0x01 ? "1.1" : p[9] == 0x04 ? "1.4" : "Invalid");
if (p[11])
printf("\tDefault Configuration: #%d\n", p[11]);
else
printf("\tConfiguration Table Address: 0x%08X\n",
DWORD(p + 4));
printf("\tMode: %s\n", p[12] & (1 << 7) ?
"IMCR and PIC" : "Virtual Wire");

return 1;
}

/*
* Main
*/
Expand All @@ -562,6 +593,7 @@ static struct bios_entry bios_entries[] = {
{ "32OS", 0, 0xE0000, 0xFFFFF, compaq_length, compaq_decode },
{ "\252\125VPD", 0, 0xF0000, 0xFFFFF, vpd_length, vpd_decode },
{ "FJKEYINF", 0, 0xF0000, 0xFFFFF, fjkeyinf_length, fjkeyinf_decode },
{ "_MP_", 0, 0xE0000, 0xFFFFF, mp_length, mp_decode },
{ NULL, 0, 0, 0, NULL, NULL }
};

Expand Down
Loading

0 comments on commit cfe9601

Please sign in to comment.