mirror of https://github.com/acidanthera/audk.git
DynamicTablesPkg: Add PCCT Generator
The Platform Communication Channel Table (PCCT) generator collates the relevant information required for generating a PCCT table from configuration manager using the configuration manager protocol. The DynamicTablesManager then install the PCCT table. From ACPI 6.4, s14 PLATFORM COMMUNICATIONS CHANNEL (PCC): The platform communication channel (PCC) is a generic mechanism for OSPM to communicate with an entity in the platform. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This commit is contained in:
parent
dab7bac94c
commit
8405b1480f
|
@ -1,7 +1,7 @@
|
||||||
## @file
|
## @file
|
||||||
# Dsc include file for Dynamic Tables Framework.
|
# Dsc include file for Dynamic Tables Framework.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR>
|
# Copyright (c) 2017 - 2022, Arm Limited. All rights reserved.<BR>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
#
|
#
|
||||||
|
@ -33,6 +33,7 @@
|
||||||
DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
|
DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
|
||||||
DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
|
DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
|
||||||
DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
|
DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
|
||||||
|
DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf
|
||||||
|
|
||||||
# AML Fixup
|
# AML Fixup
|
||||||
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
|
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
|
||||||
|
@ -57,6 +58,7 @@
|
||||||
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
|
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
|
||||||
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
|
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
|
||||||
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
|
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
|
||||||
|
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/AcpiPcctLibArm.inf
|
||||||
|
|
||||||
# AML Fixup
|
# AML Fixup
|
||||||
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
|
NULL|DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortLibArm.inf
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR>
|
Copyright (c) 2017 - 2022, Arm Limited. All rights reserved.<BR>
|
||||||
|
|
||||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@ -98,6 +98,7 @@ typedef enum StdAcpiTableId {
|
||||||
EStdAcpiTableIdSsdtCmn600, ///< SSDT Cmn-600 Generator
|
EStdAcpiTableIdSsdtCmn600, ///< SSDT Cmn-600 Generator
|
||||||
EStdAcpiTableIdSsdtCpuTopology, ///< SSDT Cpu Topology
|
EStdAcpiTableIdSsdtCpuTopology, ///< SSDT Cpu Topology
|
||||||
EStdAcpiTableIdSsdtPciExpress, ///< SSDT Pci Express Generator
|
EStdAcpiTableIdSsdtPciExpress, ///< SSDT Pci Express Generator
|
||||||
|
EStdAcpiTableIdPcct, ///< PCCT Generator
|
||||||
EStdAcpiTableIdMax
|
EStdAcpiTableIdMax
|
||||||
} ESTD_ACPI_TABLE_ID;
|
} ESTD_ACPI_TABLE_ID;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
## @file
|
||||||
|
# Pcct Table Generator
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022, Arm Limited. All rights reserved.<BR>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
##
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 0x0001001B
|
||||||
|
BASE_NAME = AcpiPcctLibArm
|
||||||
|
FILE_GUID = 38FE945C-D6ED-4CD6-8D20-FCEF3260D15A
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
MODULE_TYPE = DXE_DRIVER
|
||||||
|
LIBRARY_CLASS = NULL|DXE_DRIVER
|
||||||
|
CONSTRUCTOR = AcpiPcctLibConstructor
|
||||||
|
DESTRUCTOR = AcpiPcctLibDestructor
|
||||||
|
|
||||||
|
[Sources]
|
||||||
|
PcctGenerator.c
|
||||||
|
PcctGenerator.h
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
DynamicTablesPkg/DynamicTablesPkg.dec
|
||||||
|
EmbeddedPkg/EmbeddedPkg.dec
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
BaseLib
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,43 @@
|
||||||
|
/** @file
|
||||||
|
PCCT Table Generator
|
||||||
|
|
||||||
|
Copyright (c) 2022, Arm Limited. All rights reserved.<BR>
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@par Reference(s):
|
||||||
|
- ACPI 6.4 Specification - January 2021
|
||||||
|
s14 PLATFORM COMMUNICATIONS CHANNEL (PCC)
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef PCCT_GENERATOR_H_
|
||||||
|
#define PCCT_GENERATOR_H_
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
/** Structure used to map a Pcc Subspace to an index.
|
||||||
|
*/
|
||||||
|
typedef struct MappingTable {
|
||||||
|
/// Mapping table for Subspace Ids.
|
||||||
|
/// Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer
|
||||||
|
VOID **Table;
|
||||||
|
|
||||||
|
/// Number of entries in the Table.
|
||||||
|
UINT32 MaxIndex;
|
||||||
|
} MAPPING_TABLE;
|
||||||
|
|
||||||
|
/** A structure holding the Pcct generator and additional private data.
|
||||||
|
*/
|
||||||
|
typedef struct AcpiPcctGenerator {
|
||||||
|
/// ACPI Table generator header
|
||||||
|
ACPI_TABLE_GENERATOR Header;
|
||||||
|
|
||||||
|
// Private fields are defined from here.
|
||||||
|
|
||||||
|
/// Table to map: Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer
|
||||||
|
MAPPING_TABLE MappingTable;
|
||||||
|
} ACPI_PCCT_GENERATOR;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
|
#endif // PCCT_GENERATOR_H_
|
Loading…
Reference in New Issue