| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Print all second-level attributes through a helper function pr_subattr.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
| |
Print lists through helper functions. pr_list_start() starts the
list, with an optional value. pr_list_item() prints a single item.
pr_list_end() is a no-op for plain text output, but is in place in
anticipation of supporting other output formats such as HTML.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Print all first-level attributes through a helper function pr_attr.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Print the name of each handle type through a helper function
pr_handle_name.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Print the handle information through a helper function pr_handle.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Print all info messages through a helper function pr_info.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Print all comments through a helper function pr_comment.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
Split dmi_string into 3 functions to make it more modular. ASCII
filtering is an explicit option now to give the caller more control.
Use the new functions in dmi_dump to avoid reimplementing the ASCII
filtering and printing characters one by one.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
Write warning messages about invalid type 42 structures to stderr as
we do for all other warning messages.
Also include the handle and record numbers in these warning messages
to make the problem easier to analyze.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
There is no reason to indent the device information that much in type
42 structures. Remove the extra level of indentation for consistency
and readability.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
| |
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
No tabulation needed before DMI structure names.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Make the logic more simple so that we always report the status on a
single line.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
If the processor voltage encoding has some of the reserved bits set
and none of the proper bits set, print it as "Unknown" instead of an
empty field.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Even if a type 33 structure is too short, we can still display its
type name as we do for all other structure types.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
SMBIOS version 3.2.0 added extra fields are the end of structure type
9. Decode these extra fields (base data bus width and peers) when
present.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
Add all the enumerated values from the SMBIOS 3.3.0 specification
update that was released last month.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
|
| |
|
|
|
|
|
|
|
|
| |
Output for type 9 show <out of spec> for PCIe SSD. SMBIOS spec table
48 describes 2.5" and 3.5" PCIe SSD formats.
Signed-off-by: Prabhakar pujeri <prabhakar.pujeri@dell.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of servers like HPe, QCT, report the BMC version via the
Firmware Revision field. Add an option to the -s to export this
information directly.
A typical usage of this feature looks like:
[root@host ~]$ dmidecode -s firmware-revision
3.93
Signed-off-by: Erwan Velu <e.velu@criteo.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some hardware vendors like HPe use the Version field to store the
bios generation like (U30, U32, A40, ...). If you want to get the
"release" version of this bios generation, the bios revision field
must be considered.
A typical output of this kind of server looks like :
BIOS Information
Vendor: HPE
Version: A40
Release Date: 07/20/2019
[...]
BIOS Revision: 2.0
Firmware Revision: 1.45
Add a "bios-revision" entry into the '-s' option.
A typical usage of this feature looks like :
[root@host] dmidecode -s bios-revision
2.0
Signed-off-by: Erwan Velu <e.velu@criteo.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
Added missing newlines.
Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
|
|
|
|
|
|
|
| |
So, 8 MB instead of 8192 kB, 8 GB instead of 8192 MB.
Same principle as in c43afb47fcba ("dmidecode: Use the most
appropriate unit for cache size") applied to more fields.
|
|
|
|
|
|
|
|
|
| |
x86 is the only architecture which can have a DMI entry point scanned
from /dev/mem. Do not attempt it on other architectures, because not
only it can't work, but it can even cause the system to reboot.
This fixes support request #109697:
https://savannah.nongnu.org/support/?109697
|
|
|
|
|
|
|
| |
AF_INET requires sys/socket.h, fixes build on QNX 7.0.
Signed-off-by: Claudio Fontana <claudio.fontana@gliwa.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
When adding support for non-volative memory, we forgot to add
"Logical non-volatile device" to the list of memory types. This
causes NVDIMM modules to show up as <OUT OF SPEC>. Fix the problem
by adding the missing enumerated value.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
|
|
|
|
|
|
|
|
|
| |
Redirect dmi_cache_size() to dmi_cache_size_2() so that the cache
size is always reported using the most appropriate unit, even if the
BIOS does not populate the 32-bit cache size fields.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As newer CPUs have larger and larger cache, using kB to represent the
cache size is getting less convenient. Reuse the same function we have
for system memory size so that large units will be used as
appropriate. For example, a cache size reported as "20 MB" looks nicer
than as "20480 kB".
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
|
|
|
|
|
|
|
|
|
| |
Redfish Hostname prints beyond hlen characters. Fix it.
Signed-off-by: Charles Rose <charles.rose@dell.com>
Fixes: 78539b06117c ("dmidecode: Parse Modern Management Controller blocks")
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Add the remaining misc items for full SMBIOS 3.2.0 support:
* Add new processor and socket enumerated values (DMI type 4)
* Add new port connector enumerated value (DMI type 8)
* Add new system slot state and property (DMI type 9)
* Rename "Configured Clock Speed" to “Configured Memory Speed”
(DMI type 17)
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with version 3.2.0 the SMBIOS specification defined in more
detail the contents of the management controller type. DMTF further
reserved values to define the Redfish host interface specification.
Update dmidecode to properly parse and present that information.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: aarapov@redhat.com
CC: jarod@redhat.com
CC: elliott@hpe.com
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that the whole DMI structure fits in the announced table
length before performing any action on it. Otherwise we might end up
reading beyond the end of our memory buffer.
This bug was discovered by Lionel Debroux using the AFL fuzzer and
AddressSanitizer. Its probability is very low, as it requires a DMI
table corrupted in one of two very specific ways to trigger.
This bug exists since dmidecode version 2.9, although it is hard to
test because option --from-dump was only introduced in version 2.10.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
| |
Don't let the entry point checksum verification run beyond the end of
the buffer holding it (32 bytes).
This bug was discovered by Lionel Debroux using the AFL fuzzer and
AddressSanitizer.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
Add option "--handle HANDLE" to dmiopt to allow user to filter
output to only those entry that matches HANDLE.
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
The DSP0134 v3.2.0 extended the Memory Device (Type 17) structure
starting at offset 28h continuing to 4Ch to reflect persistent memory.
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
RFC 4122 asks for letters a-f in UUID to be lowercase. Follow this
recommendation.
This closes bug #53569:
https://savannah.nongnu.org/bugs/index.php?53569
|
|
|
|
|
|
|
|
| |
Both the operator (detected by clang, reported by Xorg) and the mask
for the minor firmware version field of TPM devices were wrong.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
|
|
|
|
| |
Avoid duplicating code between OS-specific paths.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, dmidecode(8) does not work on FreeBSD booted in UEFI mode.
Previously it was understandable, since there are no things like Linuxish
/proc/efi/systab or /sys/firmware/efi/systab to read from under FreeBSD.
However, 7 months ago, ambrisko@ had added support for exposing the SMBIOS
anchor base address via kernel environment:
https://svnweb.freebsd.org/base?view=revision&revision=307326
I've patched dmidecode.c to try to get the address from hint.smbios.0.mem
and fall back to traditional address space scanning. I've tested it both
on EFI (amd64 laptop) and non-EFI (i386 desktop) machines.
|
|
|
|
|
|
|
| |
Add a new option to extract OEM strings, like we already have for
many other strings.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
Add 1 new enumerated value for processor families and 1 new
enumerated value for processor upgrades from SMBIOS specification
version 3.1.1.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
The version of the SMBIOS specification being implemented includes
the 3rd digit since version 3.0.0, so we should use it when comparing
with what dmidecode supports.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
| |
All pieces of the SMBIOS 3.1.0 specification are supported now.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
SMBIOS 3.1.0 introduces a new structure type (43) for TPM devices.
Add support for it.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Change the memory speed unit from MHz to MT/s as advised by version
3.1.0 of the SMBIOS specification.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Add 3 new enumerated values for system slots from SMBIOS specification
version 3.1.0.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Add support for the "Maximum Cache Size 2" and "Installed Cache Size
2" fields introduced in SMBIOS specification version 3.1.0.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
Version 3.1.0 of the SMBIOS specification says that the Processor ID
field maps to the MIDR register on ARM processors, decode it.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
| |
The processor family code can be 16-bit since SMBIOS version 2.6, add
support for this possibility to function dmi_processor_id.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
| |
Add 6 new enumerated values for processor families and 7 new
enumerated values for processor upgrades from SMBIOS specification
version 3.1.0.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|