From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.groups.io with SMTP id smtpd.web10.443.1596212377223021177 for ; Fri, 31 Jul 2020 09:19:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=ooQpyAgT; spf=pass (domain: nuviainc.com, ip: 209.85.128.47, mailfrom: tomas@nuviainc.com) Received: by mail-wm1-f47.google.com with SMTP id c80so8990358wme.0 for ; Fri, 31 Jul 2020 09:19:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=giOID1oc4y9wUFQaapjJ5ceWfJKXnLoYrnKEC4N9m4s=; b=ooQpyAgTF2ojg53E06cWPUqbx+/+1LWAzW6951XrVuaITxUd5VzDuznMYOFAGbOLd0 JUam8xWOjAsR2/G+usPBW/pw6l662Dfjdmfw2+bAwhagWfxkhyiUq3vgK9vu7x31uHnC i2Qyeg0X4ag0Ozlpb6Xk2lQwDRzo/s+qBisPqqGMirWPiibTHvaDDSrXf4jNXZYe6jkv qQkkrl00JsQ8qgtobtFm/KoIfUosKPmxujG5riBe7MIP95nSFxidPn8Gtkg3rk7qXmDc g4aHw6g7QKE0PR+O0GQNTV7diWZJg6HFm5DB1jwWsKE9sjYY6OIBxMJfcqz1sCdQlILn VCXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=giOID1oc4y9wUFQaapjJ5ceWfJKXnLoYrnKEC4N9m4s=; b=ngXiptPszJrId4NK8arWdDKG3AfDfYCYJlKouR7s867PDBN0Foh/ifSpkMRiCZ6G+i i5qDRi49fK6TNe82cevdmwuWcsa5HsElMCxinhDAp8VwkJy3LlIjc/sF2fF1Sc6colKR acFLEENtt+xjk1ADXpqZx9XUNpJm4UykuwZILqb+ybYpg64AnqWhihQKrJ8/btMCxsid Ny/ey5P/cc0kW24j+V9R5vVKeuv5pvuolwFI8J3AxZs7UaC304CfDPB21Vl5IjHv5mYo 3A7BRQOb3WPqgjA/yiJCGH72d8IAR55hPSyoCo6CAjPVU2tNMjdBhWh2/6RtOuchXSDW NKog== X-Gm-Message-State: AOAM530a8Dc11eTqcoG/fskF/KNCfVyyp+3YuvUR8BVYaojsJDJPll19 hgfhp5rIFIdJAlhJVcqLh610bzsXTfaM7DV5/rJrF7c0eoQY7khs2StC0baDiJsxsbVPcGIT2sC 4reJyChWd/5jAS/1pXrsbiqKGAdkQF/qqlHsLfFQHi9aIiYnoE4IJLLvr8lsPTiEpsM4= X-Google-Smtp-Source: ABdhPJzr8OAWTjUH0O/JtsZZy2yv+P6G3YVQzKT23ErZqP8c/lBGRt/EniFrnCfm99vJLrkJUk3zgg== X-Received: by 2002:a1c:4e17:: with SMTP id g23mr4425239wmh.42.1596212374992; Fri, 31 Jul 2020 09:19:34 -0700 (PDT) Return-Path: Received: from localhost.localdomain (cpc159317-cmbg20-2-0-cust162.5-4.cable.virginm.net. [81.111.29.163]) by smtp.gmail.com with ESMTPSA id v11sm14149739wrr.10.2020.07.31.09.19.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Jul 2020 09:19:34 -0700 (PDT) From: "Tomas Pilar (tpilar)" To: devel@edk2.groups.io Cc: Sami Mujawar , Alexei Fedorov Subject: [PATCH 6/8] DynamicTablesPkg/TableHelperLib: User friendly strings Date: Fri, 31 Jul 2020 17:19:24 +0100 Message-Id: <20200731161926.341330-7-tomas@nuviainc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200731161926.341330-1-tomas@nuviainc.com> References: <20200731161926.341330-1-tomas@nuviainc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add user friendly strings for CmObjectIds to TableHelperLib and add debug print invocations to common helper methods. Cc: Sami Mujawar Cc: Alexei Fedorov Signed-off-by: Tomas Pilar --- .../ConfigurationManagerDumpApp.c | 13 +-- .../ConfigurationManagerDumpApp.h | 8 -- .../ConfigurationManagerDumpApp.inf | 3 +- .../ConfigurationObjectStrings.c | 50 ---------- .../Include/Library/TableHelperLib.h | 12 +++ .../ConfigurationObjectStrings.c | 92 +++++++++++++++++++ .../Common/TableHelperLib/TableHelperLib.inf | 1 + 7 files changed, 109 insertions(+), 70 deletions(-) delete mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.h delete mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationObjectStrings.c create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c diff --git a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c index 15936c78c1..20977c1b82 100644 --- a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c +++ b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c @@ -1,10 +1,9 @@ #include #include #include +#include #include -#include "ConfigurationManagerDumpApp.h" - EDKII_CONFIGURATION_MANAGER_PROTOCOL *mCfgMgr; EFI_STATUS @@ -33,10 +32,7 @@ UefiMain( continue; } - Print ( - L"<%s>::<%s>\n", - ObjectNameSpaceString[EObjNameSpaceStandard], - StdObjectString[ObjectId - EObjNameSpaceStandard]); + Print (L"<%s>\n", CmObjectIdName (ObjectId)); Print ( L"Id=%x Size=0x%x at=%p count=%d\n", @@ -54,10 +50,7 @@ UefiMain( continue; } - Print ( - L"<%s>::<%s>\n", - ObjectNameSpaceString[EObjNameSpaceArm], - ArmObjectString[ObjectId - EObjNameSpaceArm]); + Print (L"<%s>\n", CmObjectIdName(ObjectId)); Print ( L"Id=%x Size=0x%x at=%p count=%d\n", diff --git a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.h b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.h deleted file mode 100644 index 5017d55b4a..0000000000 --- a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CONFIGURATION_MANAGER_DUMP_APP_H_ -#define CONFIGURATION_MANAGER_DUMP_APP_H_ - -extern CHAR16 *ArmObjectString[]; -extern CHAR16 *ObjectNameSpaceString[]; -extern CHAR16 *StdObjectString[]; - -#endif diff --git a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf index 9f8beb916d..f930ca3dcb 100644 --- a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf +++ b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf @@ -23,8 +23,6 @@ [Sources] ConfigurationManagerDumpApp.c - ConfigurationManagerDumpApp.h - ConfigurationObjectStrings.c [Packages] MdePkg/MdePkg.dec @@ -32,6 +30,7 @@ DynamicTablesPkg/DynamicTablesPkg.dec [LibraryClasses] + TableHelperLib UefiLib UefiBootServicesTableLib UefiApplicationEntryPoint diff --git a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationObjectStrings.c b/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationObjectStrings.c deleted file mode 100644 index ad8dbb6354..0000000000 --- a/DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationObjectStrings.c +++ /dev/null @@ -1,50 +0,0 @@ - -CHAR16 *ArmObjectString[] = { - L"Reserved", - L"Boot Architecture Info", - L"CPU Info", - L"Power Management Profile Info", - L"GIC CPU Interface Info", - L"GIC Distributor Info", - L"GIC MSI Frame Info", - L"GIC Redistributor Info", - L"GIC ITS Info", - L"Serial Console Port Info", - L"Serial Debug Port Info", - L"Generic Timer Info", - L"Platform GT Block Info", - L"Generic Timer Block Frame Info", - L"Platform Generic Watchdog", - L"PCI Configuration Space Info", - L"Hypervisor Vendor Id", - L"Fixed feature flags for FADT", - L"ITS Group", - L"Named Component", - L"Root Complex", - L"SMMUv1 or SMMUv2", - L"SMMUv3", - L"PMCG", - L"GIC ITS Identifier Array", - L"ID Mapping Array", - L"SMMU Interrupt Array", - L"Processor Hierarchy Info", - L"Cache Info", - L"Processor Node ID Info", - L"CM Object Reference", - L"Memory Affinity Info", - L"Device Handle Acpi", - L"Device Handle Pci", - L"Generic Initiator Affinity" -}; - -CHAR16 *ObjectNameSpaceString[] = { - L"Standard Objects Namespace", - L"ARM Objects Namespace", - L"OEM Objects Namespace" -}; - -CHAR16 *StdObjectString[] = { - L"Configuration Manager Info", - L"ACPI table Info List", - L"SMBIOS table Info List" -}; diff --git a/DynamicTablesPkg/Include/Library/TableHelperLib.h b/DynamicTablesPkg/Include/Library/TableHelperLib.h index 0d3d1bbd60..9269e77377 100644 --- a/DynamicTablesPkg/Include/Library/TableHelperLib.h +++ b/DynamicTablesPkg/Include/Library/TableHelperLib.h @@ -24,6 +24,18 @@ UINTN EFIAPI GetNewToken(); +/** + Returns the user friendly name for the given ObjectId. + + @param[in] CmObjectId The id of the configuration manager object + @return User friendly name for object id. +**/ +const CHAR16* +EFIAPI +CmObjectIdName( + IN CONST CM_OBJECT_ID CmObjectrId + ); + /** Return the count of objects of a given ObjectId. diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c new file mode 100644 index 0000000000..e4c0e77633 --- /dev/null +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c @@ -0,0 +1,92 @@ +/** @file + ConfigurationObjectStrings.c + + Copyright (c) 2020, ARM Limited. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include + +const CHAR16 *ArmObjectString[] = { + L"Reserved", + L"Boot Architecture Info", + L"CPU Info", + L"Power Management Profile Info", + L"GIC CPU Interface Info", + L"GIC Distributor Info", + L"GIC MSI Frame Info", + L"GIC Redistributor Info", + L"GIC ITS Info", + L"Serial Console Port Info", + L"Serial Debug Port Info", + L"Generic Timer Info", + L"Platform GT Block Info", + L"Generic Timer Block Frame Info", + L"Platform Generic Watchdog", + L"PCI Configuration Space Info", + L"Hypervisor Vendor Id", + L"Fixed feature flags for FADT", + L"ITS Group", + L"Named Component", + L"Root Complex", + L"SMMUv1 or SMMUv2", + L"SMMUv3", + L"PMCG", + L"GIC ITS Identifier Array", + L"ID Mapping Array", + L"SMMU Interrupt Array", + L"Processor Hierarchy Info", + L"Cache Info", + L"Processor Node ID Info", + L"CM Object Reference", + L"Memory Affinity Info", + L"Device Handle Acpi", + L"Device Handle Pci", + L"Generic Initiator Affinity" +}; + +const CHAR16 *ObjectNameSpaceString[] = { + L"Standard Objects Namespace", + L"ARM Objects Namespace", + L"OEM Objects Namespace" +}; + +const CHAR16 *StdObjectString[] = { + L"Configuration Manager Info", + L"ACPI table Info List", + L"SMBIOS table Info List" +}; + +const CHAR16* UnknownObject = L"Unknown Object"; + +/** + Returns the user friendly name for the given ObjectId. + + @param[in] CmObjectId The id of the configuration manager object + @return User friendly name for object id. +**/ +const CHAR16* +EFIAPI +CmObjectIdName( + IN CONST CM_OBJECT_ID CmObjectId + ) +{ + switch (GET_CM_NAMESPACE_ID(CmObjectId)) { + case EObjNameSpaceStandard: + if (CmObjectId < EStdObjMax) { + return StdObjectString[CmObjectId - EObjNameSpaceStandard]; + } else { + return UnknownObject; + } + case EObjNameSpaceArm: + if (CmObjectId < EArmObjMax) { + return ArmObjectString[CmObjectId - EObjNameSpaceArm]; + } else { + return UnknownObject; + } + default: + return UnknownObject; + } + + return UnknownObject; +} diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf index e12380073e..0fbc1fe5b2 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf @@ -16,6 +16,7 @@ [Sources] TableHelper.c + ConfigurationObjectStrings.c [Packages] MdePkg/MdePkg.dec -- 2.25.1