Actions
Bug #12664
closedfix smbios memory technology operating mode capabilities
Start date:
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
Description
While looking at a system with a DIMM, I noticed a few peculiarities:
$ smbios -i 52 ID SIZE TYPE 52 159 SMB_TYPE_MEMDEVICE (type 17) (memory device) Manufacturer: Micron Technology Serial Number: 2348040D Location Tag: DIMM 0 Part Number: 36ASF2G72PZ-2G6F1 Physical Memory Array: 44 Memory Error Data: 51 Total Width: 128 bits Data Width: 64 bits Size: 17179869184 bytes Form Factor: 9 (DIMM) Set: None Rank: 2 (dual) Memory Type: 26 (DDR4) Flags: 0x2080 SMB_MDF_SYNC (synchronous) SMB_MDF_REG (Registered (Buffered)) Speed: 2666 MT/s Configured Speed: 2666 MT/s Device Locator: DIMM 0 Bank Locator: P0 CHANNEL A Minimum Voltage: 1.20V Maximum Voltage: 1.20V Configured Voltage: 1.20V Memory Technology: 3 (DRAM) Operating Mode Capabilities: 0x8 SMB_MOMC_BYTE_PM (Byte-accessible persistent memory) Firmware Revision: Unknown Module Manufacturer ID: 0x2c80 Volatile Size: 16384 bytes
The first was that the Operating Mode Capabilities section had the wrong defines. What happened here was that I had an off by one in the flag bit assignments. Next, there was extra spacing at the front of it because the actual flag_printf() function unlike desc_printf() actually included spacing. With those fixed (and 12662) you now see:
ID SIZE TYPE 52 159 SMB_TYPE_MEMDEVICE (type 17) (memory device) Manufacturer: Micron Technology Serial Number: 2348040D Location Tag: DIMM 0 Part Number: 36ASF2G72PZ-2G6F1 Physical Memory Array: 44 Memory Error Data: 51 Total Width: 128 bits Data Width: 64 bits Size: 17179869184 bytes Form Factor: 9 (DIMM) Set: None Rank: 2 (dual) Memory Type: 26 (DDR4) Flags: 0x2080 SMB_MDF_SYNC (synchronous) SMB_MDF_REG (Registered (Buffered)) Speed: 2666 MT/s Configured Speed: 2666 MT/s Device Locator: DIMM 0 Bank Locator: P0 CHANNEL A Minimum Voltage: 1.20V Maximum Voltage: 1.20V Configured Voltage: 1.20V Memory Technology: 3 (DRAM) Operating Mode Capabilities: 0x8 SMB_MOMC_VOLATILE (Volatile memory) Firmware Revision: Unknown Module Manufacturer ID: Bank: 0x1 Vendor: 0x2c (Micron Technology) Volatile Size: 16384 bytes
Which all looks much better. Like in 12662 I made sure the nascent smbios test suite was clean and then double checked the jedec bits just in case (though nothing changed here).
Updated by Electric Monk over 2 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 9f9cceb6f1158940244c35cecdbc93f9a386a4b8
commit 9f9cceb6f1158940244c35cecdbc93f9a386a4b8 Author: Robert Mustacchi <rm@fingolfin.org> Date: 2020-05-01T01:53:20.000Z 12662 smbios(1M) interprets jedec IDs incorrectly 12664 fix smbios memory technology operating mode capabilities Reviewed by: Yuri Pankov <ypankov@fastmail.com> Reviewed by: Toomas Soome <toomas@me.com> Reviewed by: Paul Winder <paul@winders.demon.co.uk> Reviewed by: Gergo Doma <domag02@gmail.com> Approved by: Gordon Ross <gordon.w.ross@gmail.com>
Actions