summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorRaymond Mao <[email protected]>2026-02-13 17:52:48 -0500
committerTom Rini <[email protected]>2026-02-18 08:27:51 -0600
commit374896158b435843d8ecf2c04c9985b0321295e0 (patch)
tree7dadbe3d74e4fbcc11f8ff4da380d3df19fbf1a3 /include/linux
parent83b28b55d74f884a30c47238dc8bdf9fbe6e495c (diff)
smbios: add support for dynamic generation of Type 16 table
This commit implements SMBIOS Type 16 (Physical Memory Array) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-array' will be used to populate as individual Type 16 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'memory-error-correction', 'maximum-capacity', 'extended-maximum-capacity', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-array' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 16 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 16 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions