| /** @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_ARCH_COMMON_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_ARCH_COMMON_PCC_SUBSPACE_TYPE[X]_INFO pointer | |
| MAPPING_TABLE MappingTable; | |
| } ACPI_PCCT_GENERATOR; | |
| #pragma pack() | |
| #endif // PCCT_GENERATOR_H_ |