diff options
Diffstat (limited to 'DynamicTablesPkg/Include/Library/CmObjHelperLib.h')
-rw-r--r-- | DynamicTablesPkg/Include/Library/CmObjHelperLib.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/DynamicTablesPkg/Include/Library/CmObjHelperLib.h b/DynamicTablesPkg/Include/Library/CmObjHelperLib.h new file mode 100644 index 0000000..96cc175 --- /dev/null +++ b/DynamicTablesPkg/Include/Library/CmObjHelperLib.h @@ -0,0 +1,58 @@ +/** @file
+ Configuration Manager Helper Library.
+
+ Copyright (c) 2025, Arm Limited. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef CM_OBJ_HELPER_LIB_H_
+#define CM_OBJ_HELPER_LIB_H_
+
+/** Check if an ACPI table is present in the Configuration manager's ACPI table list.
+
+ @param [in] CfgMgrProtocol Pointer to the Configuration Manager
+ Protocol Interface.
+ @param [in] AcpiTableId Acpi Table Id.
+
+ @retval TRUE if the ACPI table is in the list of ACPI tables to install.
+ FALSE otherwise.
+**/
+BOOLEAN
+EFIAPI
+CheckAcpiTablePresent (
+ IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol,
+ IN ESTD_ACPI_TABLE_ID AcpiTableId
+ );
+
+/** Get a Proximity Domain Id.
+
+ Proximity Domain Id are now to be placed in
+ CM_ARCH_COMMON_PROXIMITY_DOMAIN_INFO objects rather than in the various
+ CmObj using them. This function handles the logic in the selection
+ of the ProximityDomainId to use.
+
+ Proximity Domain Id should be preferably placed in
+ CM_ARCH_COMMON_PROXIMITY_DOMAIN_INFO objects now.
+
+ @param [in] CfgMgrProtocol Pointer to the Configuration Manager
+ Protocol Interface.
+ @param [in] DefaultDomainId Default per-CmObj Proximity Domain Id.
+ The CM_ARCH_COMMON_PROXIMITY_DOMAIN_INFO
+ should be preferably used.
+ @param [in] Token Token referencing a
+ CM_ARCH_COMMON_PROXIMITY_DOMAIN_INFO object.
+ @param [out] DomainId If Success, contains DomainId to use.
+
+ @retval EFI_SUCCESS Table generated successfully.
+ @retval EFI_INVALID_PARAMETER The table pointer is NULL or invalid.
+**/
+EFI_STATUS
+EFIAPI
+GetProximityDomainId (
+ IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CfgMgrProtocol,
+ IN UINT32 DefaultDomainId,
+ IN CM_OBJECT_TOKEN Token,
+ OUT UINT32 *DomainId
+ );
+
+#endif // CM_OBJ_HELPER_LIB_H_
|