diff options
author | Sami Mujawar <sami.mujawar@arm.com> | 2022-07-06 12:40:09 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-07-15 18:07:49 +0000 |
commit | 0d23c447d6f574cbe511414b70df14119099c70f (patch) | |
tree | dd17d510494fa779cebf04b86a290d14b955c729 /DynamicTablesPkg/Include | |
parent | 470206ba7f118aaa1153d66689cf3ee4d17051b7 (diff) | |
download | edk2-0d23c447d6f574cbe511414b70df14119099c70f.zip edk2-0d23c447d6f574cbe511414b70df14119099c70f.tar.gz edk2-0d23c447d6f574cbe511414b70df14119099c70f.tar.bz2 |
DynamicTablesPkg: Add support to specify FADT minor revision
The CM_STD_OBJ_ACPI_TABLE_INFO.AcpiTableRevision can be used to specify
the major revision number of the ACPI table that the generator must use.
Although most ACPI tables only have a major revision number, the FADT
table additionally has a minor revision number.
The FADT generator currently defaults to setting the latest supported
ACPI revision for the FADT table i.e. ACPI 6.4. This means that the minor
revision for the FADT table is always set to 4 and there is no provision
for a user to specify the minor revision to be selected.
Therefore, update CM_STD_OBJ_ACPI_TABLE_INFO to introduce a new field
MinorRevision which can be used to specify the minor revision for an
ACPI table. Also update the FADT generator to validate the supported
FADT revisions ans use the specified minor revision for the FADT table
if supported. If an unsupported minor revision is specified the FADT
generator defaults to the latest supported minor revision.
Since the CM_STD_OBJ_ACPI_TABLE_INFO.MinorRevision field is added to
the end of the structure, it should not break existing platform code.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: <pierre.gondois@arm.com>
Tested-by: Jagadeesh Ujja <Jagadeesh.Ujja@arm.com>
Diffstat (limited to 'DynamicTablesPkg/Include')
-rw-r--r-- | DynamicTablesPkg/Include/StandardNameSpaceObjects.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h index 8d0c7da..8ec3238 100644 --- a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h @@ -1,6 +1,6 @@ /** @file
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2022, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -105,6 +105,14 @@ typedef struct CmAStdObjAcpiTableInfo { /// Generators shall populate this information using the revision of the
/// Configuration Manager (CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.Revision).
UINT32 OemRevision;
+
+ /// The minor revision of an ACPI table if required by the table.
+ /// Note: If this field is not populated (has value of Zero), then the
+ /// Generators shall populate this information based on the latest minor
+ /// revision of the table that is supported by the generator.
+ /// e.g. This field can be used to specify the minor revision to be set
+ /// for the FADT table.
+ UINT8 MinorRevision;
} CM_STD_OBJ_ACPI_TABLE_INFO;
/** A structure used to describe the SMBIOS table generators to be invoked.
|