Project

General

Profile

Actions

Feature #15915

open

Want SMBIOS 3.7 support

Added by Robert Mustacchi 7 days ago. Updated 7 days ago.

Status:
New
Priority:
Normal
Category:
lib - userland libraries
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

SMBIOS 3.7 was released a little while back. We should add support for that to our libraries. This is mostly updates to the constants and then a few new fields in the memory devices.

Actions #1

Updated by Robert Mustacchi 7 days ago

To test this I did the following:

  • I ran the SMBIOS test suite which was updated for 3.7 (see output below).
  • Compared the output of smbios(8) on both a live system and on data saved from a file on an AMD Genoa based system.
  • I used the test feature of -d to get the new 3.7 table and printed its output. Note the output shown below varies slightly because strictly speaking the continuation field is a 7-bit quantity, but the test code doesn't really care.
rm@garnet ~ $ /opt/util-tests/tests/smbios 
TEST PASSED: bad library version
TEST PASSED: bad library version (zeros)
TEST PASSED: smbios_info_* with bad id
TEST PASSED: smbios string functions
TEST PASSED: slot 3.2
TEST PASSED: slot 3.4 without peers
TEST PASSED: slot 3.4 with peers
TEST PASSED: slot 3.5 against 3.4 lib
TEST PASSED: slot 3.5
TEST PASSED: memory device 3.2 % 3.2
TEST PASSED: memory device 3.2 % 3.3
TEST PASSED: memory device 3.2 % 3.7
TEST PASSED: memory device 3.3
TEST PASSED: memory device 3.3 with extended data
TEST PASSED: memory device 3.7
TEST PASSED: processor additional information - amd64
TEST PASSED: processor additional information - riscv
TEST PASSED: processor additional information - bad table length 1
TEST PASSED: processor additional information - bad table length 2
TEST PASSED: processor additional information - bad table length 3
TEST PASSED: processor additional information - bad table length 4
TEST PASSED: processor additional information - bad type
TEST PASSED: string property - bad table length 1
TEST PASSED: string property - bad table length 2
TEST PASSED: string property - bad type
TEST PASSED: string property - basic
TEST PASSED: string property - bad string
TEST PASSED: firmware inventory - bad base length
TEST PASSED: firmware inventory - bad comp length
TEST PASSED: firmware inventory - bad type
TEST PASSED: firmware inventory - no components
TEST PASSED: firmware inventory - components
TEST PASSED: chassis - bad length (2.4 table)
TEST PASSED: chassis - bad length (latest version)
TEST PASSED: chassis - bad length, expect sku
TEST PASSED: chassis - basic 2.4 version
TEST PASSED: chassis - sku, but no components
TEST PASSED: chassis - 2.4 version with comps
TEST PASSED: chassis - sku + comps
TEST PASSED: SMBIOS 2.5 processor
TEST PASSED: SMBIOS 3.6 processor
TEST PASSED: SMBIOS 3.6 processor, 2.5 client
All tests passed successfully
rm@garnet ~/t $ smbios -t17 memory\ device\ 3.7.smbios 
ID    SIZE TYPE
1     103  SMB_TYPE_MEMDEVICE (type 17) (memory device)

  Physical Memory Array: None
  Memory Error Data: Not Supported
  Total Width: 64 bits
  Data Width: 64 bits
  Size: 1250999402496 bytes
  Form Factor: 15 (FBDIMM)
  Set: None
  Rank: 2 (dual)
  Memory Type: 26 (DDR4)
  Flags: 0xfe
        SMB_MDF_OTHER (other)
        SMB_MDF_UNKNOWN (unknown)
        SMB_MDF_FASTPG (fast-paged)
        SMB_MDF_STATIC (static column)
        SMB_MDF_PSTATIC (pseudo-static)
        SMB_MDF_RAMBUS (RAMBUS)
        SMB_MDF_SYNC (synchronous)
  Speed: 195944173 MT/s
  Configured Speed: 195948559 MT/s
  Device Locator: 
  Bank Locator: 
  Minimum Voltage: Unknown
  Maximum Voltage: Unknown
  Configured Voltage: Unknown
  Operating Mode Capabilities: 0x8
        SMB_MOMC_VOLATILE (Volatile memory)
  Non-volatile Size: Unknown
  Volatile Size: Unknown
  Cache Size: Unknown
  Logical Size: Unknown
  PMIC0 Manufacturer ID: Bank: 0x35 Vendor: 0x12
  PMIC0 Revision: 5.6
  RCD Manufacturer ID: Bank: 0x22 Vendor: 0x43
  RCD Revision: 6.5
Actions #2

Updated by Electric Monk 7 days ago

  • Gerrit CR set to 3043
Actions

Also available in: Atom PDF