summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Include
diff options
context:
space:
mode:
authorSami Mujawar <sami.mujawar@arm.com>2019-02-14 11:01:20 +0000
committerSami Mujawar <sami.mujawar@arm.com>2019-03-20 11:00:44 +0000
commite12bdeb1c2ad6e3354e16309284aae6313a1fb43 (patch)
tree5d1cb078ec491e0ebe291557f05e0a37e1283931 /DynamicTablesPkg/Include
parent98a4a7a99bf588dffac031bb300d9aba4adcdea5 (diff)
downloadedk2-e12bdeb1c2ad6e3354e16309284aae6313a1fb43.tar.gz
edk2-e12bdeb1c2ad6e3354e16309284aae6313a1fb43.tar.bz2
edk2-e12bdeb1c2ad6e3354e16309284aae6313a1fb43.zip
DynamicTablesPkg: Add OEM Info
This patch originally merged in edk2 master at c788bdaba47536447ae37518a96d92e0da54aad7. However, this was later reverted at bdbbedea949eb4b10d24110c0e559b03c7a6bce4 as it was merged during the Soft Feature Freeze for edk2-stable201903. Resubmitting this patch as the edk2 merge window is now open. Added option for OEMs to provide OEM Table ID and OEM Revision for ACPI tables. Cc: Laszlo Ersek <lersek@redhat.com> Cc: Alexei Fedorov <alexei.fedorov@arm.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
Diffstat (limited to 'DynamicTablesPkg/Include')
-rw-r--r--DynamicTablesPkg/Include/Library/TableHelperLib.h4
-rw-r--r--DynamicTablesPkg/Include/StandardNameSpaceObjects.h18
2 files changed, 20 insertions, 2 deletions
diff --git a/DynamicTablesPkg/Include/Library/TableHelperLib.h b/DynamicTablesPkg/Include/Library/TableHelperLib.h
index 3c4e1d23d2..0f872bc3d0 100644
--- a/DynamicTablesPkg/Include/Library/TableHelperLib.h
+++ b/DynamicTablesPkg/Include/Library/TableHelperLib.h
@@ -45,7 +45,7 @@ GetCgfMgrInfo (
@param [in] Generator Pointer to the ACPI table Generator.
@param [in,out] AcpiHeader Pointer to the ACPI table header to be
updated.
- @param [in] Revision Revision of the ACPI table.
+ @param [in] AcpiTableInfo Pointer to the ACPI table info structure.
@param [in] Length Length of the ACPI table.
@retval EFI_SUCCESS The ACPI table is updated successfully.
@@ -61,7 +61,7 @@ AddAcpiHeader (
IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST CfgMgrProtocol,
IN CONST ACPI_TABLE_GENERATOR * CONST Generator,
IN OUT EFI_ACPI_DESCRIPTION_HEADER * CONST AcpiHeader,
- IN CONST UINT32 Revision,
+ IN CONST CM_STD_OBJ_ACPI_TABLE_INFO * CONST AcpiTableInfo,
IN CONST UINT32 Length
);
diff --git a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
index 4377ee8f78..58503858b2 100644
--- a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
@@ -93,6 +93,24 @@ typedef struct CmAStdObjAcpiTableInfo {
/// Optional pointer to the ACPI table data
EFI_ACPI_DESCRIPTION_HEADER * AcpiTableData;
+ /// An OEM-supplied string that the OEM uses to identify the particular
+ /// data table. This field is particularly useful when defining a definition
+ /// block to distinguish definition block functions. The OEM assigns each
+ /// dissimilar table a new OEM Table ID.
+ /// This field could be constructed using the SIGNATURE_64() macro.
+ /// e.g. SIGNATURE_64 ('A','R','M','H','G','T','D','T')
+ /// Note: If this field is not populated (has value of Zero), then the
+ /// Generators shall populate this information using part of the
+ /// CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.OemId field and the
+ /// ACPI table signature.
+ UINT64 OemTableId;
+
+ /// An OEM-supplied revision number. Larger numbers are assumed to be
+ /// newer revisions.
+ /// Note: If this field is not populated (has value of Zero), then the
+ /// Generators shall populate this information using the revision of the
+ /// Configuration Manager (CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.Revision).
+ UINT32 OemRevision;
} CM_STD_OBJ_ACPI_TABLE_INFO;
/** A structure used to describe the SMBIOS table generators to be invoked.