Feature #12133
closedWant support for SMBIOS 3.3
100%
Description
SMBIOS 3.3 added a few additional features. The most notable of which include:
- A new type, 'Processor Additional Information' with a detailed RISC-V subsection
- Extended clock speeds for memory devices
- Additional definitions for PCIe Gen 4 and high bandwidth memory (HBM)
As part of this, I also went and extended the test suite to cover this and cleaned up a few parts of the smbios_processor_t to be more in line with how we're handling extensions to structure members when both old values and new values fit.
To test this I manually constructed a RISC-V table and dumped it with the smbios command:
ID SIZE TYPE 1 121 SMB_TYPE_PROCESSOR_INFO (type 44) (Processor Additional Information) Processor Handle: 1 Processor Type: 7 (64-bit RISC-V (RV64)) RISC-V Additional Processor Information: Boot Hart Hart ID: 91 ec 02 09 d7 4f fa 01 01 36 0c fb 40 11 72 47 Vendor ID: 9b 52 9d e3 2e ef 2e 90 b2 ef 25 7d 9d c0 30 0b Architecture ID: 96 a9 00 1f da 83 03 6e 3c 3a 14 32 26 7e 5c 42 Implementation ID: 00 b2 85 4f 1f e8 2b 0b 46 a5 94 d1 98 c8 21 ac ISA: 0x4010d SMB_RV_ISA_A (Atomic) SMB_RV_ISA_C (Compressed) SMB_RV_ISA_D (Double-precision floating-point) SMB_RV_ISA_I (Integer base ISA) SMB_RV_ISA_S (Supervisor mode) Privilege Levels: 0x5 SMB_RV_PRIV_M (Machine Mode) SMB_RV_PRIV_S (Supervisor Mode) Machine Exception Trap Delegation: 9a 37 b3 b7 2c dd 90 ce 6f 67 cb 5c 7e 32 28 45 Machine Interrupt Trap Delegation: 75 c1 fa c2 ae 15 42 a6 89 7f 35 92 2c 32 5f c1 Register Width: 0x2 (64-bit) M-Mode Register Width: 0x2 (64-bit) S-Mode Register Width: 0x3 (128-bit) U-Mode Register Width: 0x1 (32-bit)
I also ran through the updated test suite which covers validation of these new tables and extensions:
$ dmake install && LD_PRELOAD_32=/ws/rm/smbios/usr/src/lib/libsmbios/i386/libsmbios.so.1 ./smbios TEST PASSED: slot tests TEST PASSED: bad library version TEST PASSED: memory device 3.2 / 3.2 TEST PASSED: memory device 3.2 / 3.3 TEST PASSED: memory device 3.3 TEST PASSED: memory device 3.3 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
Updated by Robert Mustacchi over 3 years ago
I also tested this by running the smbios command before and after the change on a system. The only change was that the 'Extended Family' label went away in cmd/smbios, because it now takes that into account.
Updated by Electric Monk over 3 years ago
- Status changed from New to Closed
- % Done changed from 90 to 100
git commit 176a9270a1856e0e2fddcbc3c7d35aa1f750c6b9
commit 176a9270a1856e0e2fddcbc3c7d35aa1f750c6b9 Author: Robert Mustacchi <rm@fingolfin.org> Date: 2020-01-11T07:43:21.000Z 12133 Want support for SMBIOS 3.3 Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Dan McDonald <danmcd@joyent.com>