summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Decoded HP-specific DMI type 233, and refactored 209 and 221 to use a common ↵HEADoriginmastertyler_bell_hp2015-08-043-15/+78
| | | | function. Also documented specs for these types
* dmioem: Move function is_printable to dmidecode.ckhali2015-05-214-21/+20
| | | | | Move function is_printable to dmidecode.c so that a single implementation can be used in both dmidecode.c and dmioem.c.
* dmioem: Decode HP-specific DMI types 212 and 219khali2015-05-212-0/+56
| | | | | | Some information about OEM DMI types 212 and 219 for HP machines is available from the hpwdt kernel driver. Include the available information in the output of dmidecode.
* dmidecode: Fix up invalid DMI type 34 structure lengthkhali2015-05-212-0/+31
| | | | | | | Several boards have a bug where some type 34 structures have their length incorrectly set to 0x10 instead of 0x0B. This causes the first 5 characters of the device name to be trimmed. It's easy to check and fix, so do it, but warn.
* dmioem: Decode Acer-specific DMI type 170khali2015-05-132-1/+53
| | | | | | Some information about OEM DMI type 170 for Acer machines is available from the acer-wmi kernel driver. Include the available information in the output of dmidecode.
* oem: Strip spaces at the end of vendor nameskhali2015-05-132-1/+12
| | | | | Often DMI strings have trailing spaces. Ignore these when checking for known vendor names.
* Fix warnings about unused labels when building without -DUSE_MMAPkhali2015-05-132-2/+5
|
* Fix warnings about comparison between signed and unsigned integerskhali2015-05-132-7/+10
|
* dmidecode: Add support for SMBIOS3 EFI tablekhali2015-05-132-6/+11
| | | | | The SMBIOS v3 entry point has a different identifier in the EFI systab. Add support for it, as well as 64-bit addresses.
* dmidecode: Remove extra blank line after hidden type 40khali2015-05-122-2/+8
| | | | | When we don't decode type 40 in quiet mode, we shouldn't print the blank line after it either.
* Coding style fixeskhali2015-05-042-4/+4
|
* dmidecode: Get OEM vendor from System Information (DMI type 1)khali2015-05-042-1/+2
| | | | | | | | DMI type 0 is the BIOS information, it doesn't tell us about the system vendor. DMI type 1 does that. It made no difference so far because the only vendor with support for OEM-type decoding was HP and they make their own BIOS, but it will matter as soon as we add support for more vendors.
* dmidecode: Display types 41 and 42 in quiet mode tookhali2015-05-042-1/+2
| | | | | | | | | | | | | Originally the highest regular DMI structure type was 39, and non-OEM types greater than that (including 126/disabled and 127/end-of-table) wouldn't show up in quiet mode. The limit was not updated when types 41 and 42 were added to the SMBIOS specification, so these types do not show up in quiet mode. Fix that. We could simply raise the limit from 39 to 42, but the fact that this bug went unnoticed for years is probably a good indication that this limit was a bad idea in the first place and it is safer to only explicitly hide types 126 and 127 in quiet mode.
* dmidecode: Simplify function dmi_table_dumpkhali2015-05-042-17/+6
| | | | | We can let function dmi_table read the memory chunk and free the memory for us, this avoids some code duplication.
* dmidecode: Move table decoding to a separate functionkhali2015-05-042-49/+59
| | | | This will let us share more code between the decode and dump options.
* Insert missing entries for releases.khali2015-04-291-0/+8
|
* Update the list of untested DMI typeskhali2015-04-281-1/+1
|
* Fix sparse warningkhali2015-04-282-1/+2
|
* Fix sparse warningskhali2015-04-285-4/+5
|
* Fix sparse errorskhali2015-04-283-0/+8
|
* dmidecode: Fix --dump-bin when reading from sysfskhali2015-04-272-6/+10
| | | | | | | | FLAG_NO_FILE_OFFSET must be honored also in --dump-bin mode. As a side effect, the --dump-bin mode becomes a little more verbose by default, but I don't think this is a problem. It can still be silenced completely with -q if needed.
* dmidecode: Stop decoding v3 tables at End-of-Table markerkhali2015-04-272-1/+7
| | | | | | The SMBIOS v3 64-bit entry points do not provide the exact size of the DMI table, only a maximum, so we have to stop decoding at the End-of-Table (127) type structure.
* dmidecode: Add support for 64-bit addresseskhali2015-04-275-13/+20
| | | | | | | | We can easily support 64-bit addresses by compiling dmidecode with -D_FILE_OFFSET_BITS=64. This looks reasonably portable. Also add support for 32-bit long tables, as SMBIOS 3.0.0 allows it, even though I don't expect to see such a long DMI table any time soon.
* dmidecode: Add fields from the SMBIOS 3.0.0 specificationkhali2015-04-272-5/+15
| | | | | | Add support for 3 new fields in DMI type 4 (Processor Information): extended core and thread counts, for systems with more than 255 of those.
* dmidecode: Add enums from the SMBIOS 3.0.0 specificationkhali2015-04-272-8/+43
| | | | | | Add 28 new enumerated values from the SMBIOS 3.0.0 specification (3 chassis types, 4 processor families, 4 processor upgrades, 13 slot types and 4 memory device types.)
* dmidecode: Preliminary support for 64-bit entry pointkhali2015-04-272-10/+88
| | | | | | | | Add preliminary support for the new _SM3_ 64-bit entry point defined in the SMBIOS specification version 3.0.0. 64-bit addresses are not actually supported yet, nor tables with size over 16-bit.
* AUTHORS: Updatekhali2015-04-211-1/+3
| | | | | Credit Anton and Roy for their work, and add myself as the current maintainer again.
* dmidecode: Add --no-sysfs option to disable use of sysfskhali2015-04-215-1/+14
| | | | | | | | This option forces any SMBIOS information in sysfs to be ignored, resulting in dmidecode using /dev/mem for SMBIOS access. This is likely most useful for debugging. Contributed by Roy Franz.
* dmidecode: Add reading of SMBIOS tables from sysfskhali2015-04-213-3/+49
| | | | | | | | | | | | | | | | | | | | | Add preferential reading of the SMBIOS tables from /sys/firmware/dmi/tables. If these files are not present or not valid, the previously supported methods of locating SMBIOS tables are attempted. Messages indicating which source is used for the tables have been added. These are printed before the tables have been validated so they can go at the top of the output. This also shows what methods have been tried and failed due to invalid tables. The address of the entry point is not known when read from sysfs, so it is not printed in that case. A placeholder print is added where 64-bit entry point processing will be added. Contributed by Roy Franz.
* dmidecode: Add passing of flags parameter to dmi_table()khali2015-04-212-10/+23
| | | | | | | | | | | | | This allows dmi_table() to print the address that the table was read from, even when reading from a sysfs file. Previous to sysfs support, the address of the table was always the same as the offset within the file it was read from (usually /dev/mem.) For sysfs files that contain just the table at offset 0, we still want to pass the address and display that as normal, but read from offset 0 in the file. If the flag FLAG_NO_FILE_OFFSET is passed, dmi_table() uses 'base' as the DMI table address for display, but uses 0 as the file offset. Contributed by Roy Franz.
* util: Add read_file() function for reading sysfs fileskhali2015-04-213-0/+61
| | | | | | | | | | | Add a function that can read a complete, unknown size file for reading entry point files from sysfs. This function models its signature on the mem_chunk() funtion, so it also allocates memory that the caller needs to free. The files that we are interested in reading are very small, and have a known upper bound on the size. The EINTR handling is based on the myread() function. Contributed by Roy Franz.
* biosdecode: Add support for the new _SM3_ 64-bit entry point defined inkhali2015-04-202-3/+29
| | | | SMBIOS specification version 3.0.0.
* biosdecode: Indentation fixkhali2015-04-161-1/+1
|
* Add a note about DMI strings available from sysfs on Linux.khali2014-11-142-0/+12
|
* Add support for DDR4 (DMI type 17). Patch from Tomohiro Kimura. The valuekhali2014-10-132-2/+11
| | | | | was taken from preliminary SMBIOS specification version 3.0.0d. This closes bug #43370.
* Decode the CPUID of recent AMD processors (DMI type 4).khali2014-07-112-3/+7
|
* Skip the SMBIOS version comparison in quiet mode.khali2014-03-203-1/+4
| | | | Patch from Jens Rosenboom.
* Let legacy_decode be quiet in dump mode too.khali2014-03-202-1/+7
|
* Fix spacing of memory module voltage attributes (DMI type 17)khali2014-02-252-3/+8
|
* Fix typo in biosdecode man pagekhali2014-02-201-1/+1
| | | | This closes bug #41642.
* Fix e-mail addresskhali2014-02-031-1/+1
|
* Update my e-mail addresskhali2014-02-0314-179/+179
|
* dmidecode.c: Decode ID of PCI Express 3 slots (DMI type 9).khali2014-01-132-1/+17
| | | | | This fixes Savannah bug #40178: https://savannah.nongnu.org/bugs/?40178
* LICENSE: Update to the latest upstream version. Amongst other things, thiskhali2014-01-132-20/+24
| | | | fixes the FSF address.
* Bump SUPPORTED_SMBIOS_VER so that SMBIOS 2.8 implementations don't triggerkhali2013-04-261-1/+1
| | | | a warning.
* Fix support for new processor upgrade types (DMI type 4) and new memorykhali2013-04-242-4/+4
| | | | device type (DMI type 17.)
* Strip trailig zeroes from memory voltage values.khali2013-04-242-1/+6
|
* Revert previous unintended change to that file.khali2013-04-231-1/+1
|
* Drop unneeded and possibly dangerous cast.khali2013-04-232-2/+2
| | | | Not that I really expect memory modules running above 32 V...
* Make voltage labels case consistent.khali2013-04-231-3/+3
|