Built on top of the MetadataObjLib, this library aims to provide functions for each METADATA_ID to: - Generate new Metadata on the fly: the caller provides minimal information for a METADATA_ID, and the library generates the missing information. - Validate all the Metadata objects for a METADATA_ID. For instance, _UID must be unique for a _HID/_CID/EISAID. This patch also adds support for generation/validation of: - UIDs: For each EISAID or NameId, UIDs must be unique. The generation if UIDs is done by a per-EISAID/NameId incrementing counter. The validation of the Metadata consists in checking for the uniqueness of the UID per EISAID/NameId. - ProximityDomains: Proximity Domain Ids are generated by a counter, starting from 0. The validation of the Metadata consists in checking for the uniqueness of the proximity domain Ids. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
86 lines
3.4 KiB
Plaintext
86 lines
3.4 KiB
Plaintext
## @file
|
|
# dec file for Dynamic Tables Framework.
|
|
#
|
|
# Copyright (c) 2017 - 2022, Arm Limited. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
DEC_SPECIFICATION = 0x00010005
|
|
PACKAGE_NAME = DynamicTablesPkg
|
|
PACKAGE_GUID = 188EB346-8ABA-460E-A105-0F9D76F7324A
|
|
PACKAGE_VERSION = 1.0
|
|
|
|
[Includes]
|
|
Include
|
|
Test/Mock/Include
|
|
|
|
[LibraryClasses]
|
|
## @libraryclass Defines a set of Acpi helper methods
|
|
# independent from the Dynamic Tables Framework.
|
|
AcpiHelperLib|Include/Library/AcpiHelperLib.h
|
|
|
|
## @libraryclass Defines a set of APIs for Dynamic AML generation.
|
|
AmlLib|Include/Library/AmlLib/AmlLib.h
|
|
|
|
## @libraryclass Defines a set of APIs to handle dynamically created CmObj.
|
|
DynamicPlatRepoLib|Include/Library/DynamicPlatRepoLib.h
|
|
|
|
## @libraryclass Defines a set of APIs to a hardware information parser.
|
|
HwInfoParserLib|Include/Library/HwInfoParserLib.h
|
|
|
|
## @libraryclass Defines functions for customizing the generation of _OSC and slot info.
|
|
SsdtPcieSupportLib|Include/Library/SsdtPcieSupportLib.h
|
|
|
|
## @libraryclass Defines a set of methods for fixing up a SSDT Serial Port.
|
|
SsdtSerialPortFixupLib|Include/Library/SsdtSerialPortFixupLib.h
|
|
|
|
## @libraryclass Defines a set of helper methods.
|
|
TableHelperLib|Include/Library/TableHelperLib.h
|
|
|
|
## @libraryclass Defines a set of SMBIOS string helper methods.
|
|
SmbiosStringTableLib|Include/Library/SmbiosStringTableLib.h
|
|
|
|
## @libraryclass Defines a set of APIs to a handle Metadata around CmObj.
|
|
MetadataObjLib|Include/Library/MetadataObjLib.h
|
|
|
|
## @libraryclass Defines a set of APIs to a handle Metadata generation/validation.
|
|
MetadataHandlerLib|Include/Library/MetadataHandlerLib.h
|
|
|
|
[LibraryClasses.AARCH64]
|
|
## @libraryclass Defines a set of APIs to populate CmObj using SCMI.
|
|
DynamicTablesScmiInfoLib|Include/Library/DynamicTablesScmiInfoLib.h
|
|
|
|
[Protocols]
|
|
# Configuration Manager Protocol GUID
|
|
gEdkiiConfigurationManagerProtocolGuid = { 0xd85a4835, 0x5a82, 0x4894, { 0xac, 0x2, 0x70, 0x6f, 0x43, 0xd5, 0x97, 0x8e } }
|
|
|
|
# Dynamic Table Factory Protocol GUID
|
|
gEdkiiDynamicTableFactoryProtocolGuid = { 0x91d1e327, 0xfe5a, 0x49b8, { 0xab, 0x65, 0xe, 0xce, 0x2d, 0xdb, 0x45, 0xec } }
|
|
|
|
[PcdsFixedAtBuild]
|
|
|
|
# Maximum number of Custom ACPI Generators
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomACPIGenerators|1|UINT16|0xC0000001
|
|
|
|
# Maximum number of Custom SMBIOS Generators
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomSMBIOSGenerators|1|UINT16|0xC0000002
|
|
|
|
# Maximum number of Custom DT Generators
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdMaxCustomDTGenerators|1|UINT16|0xC0000003
|
|
|
|
# Non BSA Compliant 16550 Serial HID
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdNonBsaCompliant16550SerialHid|""|VOID*|0x40000008
|
|
|
|
# Use PCI segment numbers as UID
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdPciUseSegmentAsUid|FALSE|BOOLEAN|0x40000009
|
|
|
|
# Allow some relaxation on some specific points for the platforms that desire it.
|
|
# BIT0: Allow the absence of some registers in the _CPC object.
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdDevelopmentPlatformRelaxations|0|UINT64|0x4000000A
|
|
|
|
[Guids]
|
|
gEdkiiDynamicTablesPkgTokenSpaceGuid = { 0xab226e66, 0x31d8, 0x4613, { 0x87, 0x9d, 0xd2, 0xfa, 0xb6, 0x10, 0x26, 0x3c } }
|