diff options
| author | VarshitPandya <varshit.pandya@arm.com> | 2026-06-23 22:47:10 +0300 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2026-06-30 23:31:10 +0300 |
| commit | 0c2e3373512dfd6ac02215126e032ec41602af24 (patch) | |
| tree | 27e9d10b4e6b18d196384f9baf8aa561eedc143b /DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c | |
| parent | f26ba713c6bb26d1581efc84b22e14726b90b6d3 (diff) | |
| download | edk2-0c2e3373512dfd6ac02215126e032ec41602af24.tar.xz | |
DynamicTablesPkg: Add SMBIOS Cooling Device (Type 27) generator
Introduce a CM_ARCH_COMMON_COOLING_DEVICE_INFO object to describe
cooling devices provided by the platform. The generator creates one
SMBIOS Type 27 record for each cooling device object and populates the
device type/status, cooling unit group, OEM-defined data, nominal speed,
and optional description string.
The temperature probe handle is set to 0xFFFF for now because SMBIOS
Type 28 Temperature Probe generation is not currently available. Reject
non-null temperature probe tokens until Type 28 handle resolution can be
added.
Add the CM object parser entry and wire the generator into the
DynamicTablesPkg build.
Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
Diffstat (limited to 'DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c')
| -rw-r--r-- | DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c index dd97db16f8..9443059559 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -1,7 +1,7 @@ /** @file
Configuration Manager Object parser.
- Copyright (c) 2021 - 2023, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2021 - 2026, ARM Limited. All rights reserved.<BR>
Copyright (C) 2024 - 2025 Advanced Micro Devices, Inc. All rights reserved.
Copyright (c) 2024 - 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -1223,6 +1223,18 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonMemoryArrayMappedAddressParser[] = { { "NumMemDevices", sizeof (UINT8), "0x%u", NULL },
};
+/** A parser for EArchCommonObjCoolingDeviceInfo.
+*/
+STATIC CONST CM_OBJ_PARSER CmArchCommonCoolingDeviceInfoParser[] = {
+ { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+ { "TemperatureProbeToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+ { "DeviceTypeAndStatus", sizeof (MISC_COOLING_DEVICE_TYPE), "0x%x", NULL },
+ { "CoolingUnitGroup", sizeof (UINT8), "0x%x", NULL },
+ { "OEMDefined", sizeof (UINT32), "0x%x", NULL },
+ { "NominalSpeed", sizeof (UINT16), "0x%x", NULL },
+ { "Description", SMBIOS_MAX_STRING_SIZE, NULL, PrintString },
+};
+
/** A parser for Arch Common namespace objects.
*/
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
@@ -1285,6 +1297,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT (EArchCommonObjPhysicalMemoryArray, CmArchCommonPhysicalMemoryArrayParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjMemoryDeviceInfo, CmArchCommonMemoryDeviceInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjMemoryArrayMappedAddress, CmArchCommonMemoryArrayMappedAddressParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjCoolingDeviceInfo, CmArchCommonCoolingDeviceInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};
|
