summaryrefslogtreecommitdiff
path: root/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
diff options
context:
space:
mode:
authorVarshitPandya <varshit.pandya@arm.com>2026-06-24 17:56:28 +0300
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2026-06-30 23:31:10 +0300
commit5628eaaf38ea25d7cf0726a132ddfa200ad46f4c (patch)
tree3188a4d9b81c295f3d93dc5fa5cf14c0ac38423c /DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
parent0c2e3373512dfd6ac02215126e032ec41602af24 (diff)
downloadedk2-5628eaaf38ea25d7cf0726a132ddfa200ad46f4c.tar.xz
DynamicTablesPkg: Add SMBIOS Temperature Probe (Type 28) generator
Introduce a CM_ARCH_COMMON_TEMPERATURE_PROBE_INFO object to describe temperature probes provided by the platform. The generator creates one SMBIOS Type 28 record for each temperature probe object and populates the description, location/status, probe limits, resolution, tolerance, accuracy, OEM-defined data, and nominal value. 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.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 9443059559..da28b64d20 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -1235,6 +1235,21 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonCoolingDeviceInfoParser[] = {
{ "Description", SMBIOS_MAX_STRING_SIZE, NULL, PrintString },
};
+/** A parser for EArchCommonObjTemperatureProbeInfo.
+*/
+STATIC CONST CM_OBJ_PARSER CmArchCommonTemperatureProbeInfoParser[] = {
+ { "TemperatureProbeToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+ { "Description", SMBIOS_MAX_STRING_SIZE, NULL, PrintString },
+ { "LocationAndStatus", sizeof (MISC_TEMPERATURE_PROBE_LOCATION), "0x%x", NULL },
+ { "MaximumValue", sizeof (UINT16), "0x%x", NULL },
+ { "MinimumValue", sizeof (UINT16), "0x%x", NULL },
+ { "Resolution", sizeof (UINT16), "0x%x", NULL },
+ { "Tolerance", sizeof (UINT16), "0x%x", NULL },
+ { "Accuracy", sizeof (UINT16), "0x%x", NULL },
+ { "OEMDefined", sizeof (UINT32), "0x%x", NULL },
+ { "NominalValue", sizeof (UINT16), "0x%x", NULL },
+};
+
/** A parser for Arch Common namespace objects.
*/
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
@@ -1298,6 +1313,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArchCommonObjMemoryDeviceInfo, CmArchCommonMemoryDeviceInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjMemoryArrayMappedAddress, CmArchCommonMemoryArrayMappedAddressParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjCoolingDeviceInfo, CmArchCommonCoolingDeviceInfoParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjTemperatureProbeInfo, CmArchCommonTemperatureProbeInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};