Update the common ACPI tables used by all the Neoverse Reference Design platforms to ACPI version v6.4.
Signed-off-by: Pranav Madhu <pranav.ma...@arm.com> --- Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h | 219 ++++++++++---------- Platform/ARM/SgiPkg/AcpiTables/Dbg2.aslc | 30 +-- Platform/ARM/SgiPkg/AcpiTables/Fadt.aslc | 38 ++-- Platform/ARM/SgiPkg/AcpiTables/Gtdt.aslc | 69 +++--- Platform/ARM/SgiPkg/AcpiTables/Mcfg.aslc | 26 +-- Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 29 ++- 6 files changed, 219 insertions(+), 192 deletions(-) diff --git a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h b/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h index e9b6923cb035..72ece6cd153f 100644 --- a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h +++ b/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h @@ -1,6 +1,6 @@ /** @file * -* Copyright (c) 2018-2021, ARM Limited. All rights reserved. +* Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -44,131 +44,132 @@ #pragma pack(1) // PPTT processor core structure typedef struct { - EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR Core; + EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR Core; UINT32 ResourceOffset[2]; - EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE DCache; - EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE ICache; - EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE L2Cache; + EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE DCache; + EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE ICache; + EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE L2Cache; } RD_PPTT_CORE; // PPTT processor cluster structure typedef struct { - EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR Cluster; + EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR Cluster; UINT32 ResourceOffset; - EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE L3Cache; + EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE L3Cache; RD_PPTT_CORE Core[CORE_COUNT]; } RD_PPTT_CLUSTER; // PPTT processor cluster structure without cache typedef struct { - EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR Cluster; + EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR Cluster; RD_PPTT_CORE Core[CORE_COUNT]; } RD_PPTT_MINIMAL_CLUSTER; // PPTT processor package structure typedef struct { - EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR Package; + EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR Package; RD_PPTT_MINIMAL_CLUSTER Cluster[CLUSTER_COUNT]; } RD_PPTT_PACKAGE; #pragma pack () // // PPTT processor structure flags for different SoC components as defined in -// ACPI 6.3 specification +// ACPI 6.4 specification // // Processor structure flags for SoC package #define PPTT_PROCESSOR_PACKAGE_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_INVALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_NOT_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_NOT_LEAF, \ - EFI_ACPI_6_3_PPTT_IMPLEMENTATION_IDENTICAL \ + EFI_ACPI_6_4_PPTT_PACKAGE_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_INVALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_NOT_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_NOT_LEAF, \ + EFI_ACPI_6_4_PPTT_IMPLEMENTATION_IDENTICAL \ } // Processor structure flags for cluster #define PPTT_PROCESSOR_CLUSTER_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_NOT_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_NOT_LEAF, \ - EFI_ACPI_6_3_PPTT_IMPLEMENTATION_IDENTICAL \ + EFI_ACPI_6_4_PPTT_PACKAGE_NOT_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_VALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_NOT_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_NOT_LEAF, \ + EFI_ACPI_6_4_PPTT_IMPLEMENTATION_IDENTICAL \ } // Processor structure flags for cluster with multi-thread core #define PPTT_PROCESSOR_CLUSTER_THREADED_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_INVALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_NOT_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_NOT_LEAF, \ - EFI_ACPI_6_3_PPTT_IMPLEMENTATION_IDENTICAL \ + EFI_ACPI_6_4_PPTT_PACKAGE_NOT_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_INVALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_NOT_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_NOT_LEAF, \ + EFI_ACPI_6_4_PPTT_IMPLEMENTATION_IDENTICAL \ } // Processor structure flags for single-thread core #define PPTT_PROCESSOR_CORE_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_NOT_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_LEAF \ + EFI_ACPI_6_4_PPTT_PACKAGE_NOT_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_VALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_NOT_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_LEAF \ } // Processor structure flags for multi-thread core #define PPTT_PROCESSOR_CORE_THREADED_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_INVALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_NOT_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_NOT_LEAF, \ - EFI_ACPI_6_3_PPTT_IMPLEMENTATION_IDENTICAL \ + EFI_ACPI_6_4_PPTT_PACKAGE_NOT_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_INVALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_NOT_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_NOT_LEAF, \ + EFI_ACPI_6_4_PPTT_IMPLEMENTATION_IDENTICAL \ } // Processor structure flags for CPU thread #define PPTT_PROCESSOR_THREAD_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID, \ - EFI_ACPI_6_3_PPTT_PROCESSOR_IS_THREAD, \ - EFI_ACPI_6_3_PPTT_NODE_IS_LEAF \ + EFI_ACPI_6_4_PPTT_PACKAGE_NOT_PHYSICAL, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_ID_VALID, \ + EFI_ACPI_6_4_PPTT_PROCESSOR_IS_THREAD, \ + EFI_ACPI_6_4_PPTT_NODE_IS_LEAF \ } -// PPTT cache structure flags as defined in ACPI 6.3 Specification +// PPTT cache structure flags as defined in ACPI 6.4 Specification #define PPTT_CACHE_STRUCTURE_FLAGS \ { \ - EFI_ACPI_6_3_PPTT_CACHE_SIZE_VALID, \ - EFI_ACPI_6_3_PPTT_NUMBER_OF_SETS_VALID, \ - EFI_ACPI_6_3_PPTT_ASSOCIATIVITY_VALID, \ - EFI_ACPI_6_3_PPTT_ALLOCATION_TYPE_VALID, \ - EFI_ACPI_6_3_PPTT_CACHE_TYPE_VALID, \ - EFI_ACPI_6_3_PPTT_WRITE_POLICY_VALID, \ - EFI_ACPI_6_3_PPTT_LINE_SIZE_VALID \ + EFI_ACPI_6_4_PPTT_CACHE_SIZE_VALID, \ + EFI_ACPI_6_4_PPTT_NUMBER_OF_SETS_VALID, \ + EFI_ACPI_6_4_PPTT_ASSOCIATIVITY_VALID, \ + EFI_ACPI_6_4_PPTT_ALLOCATION_TYPE_VALID, \ + EFI_ACPI_6_4_PPTT_CACHE_TYPE_VALID, \ + EFI_ACPI_6_4_PPTT_WRITE_POLICY_VALID, \ + EFI_ACPI_6_4_PPTT_LINE_SIZE_VALID, \ + EFI_ACPI_6_4_PPTT_CACHE_ID_VALID \ } // PPTT cache attributes for data cache #define PPTT_DATA_CACHE_ATTR \ { \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_ALLOCATION_READ_WRITE, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_CACHE_TYPE_DATA, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_ALLOCATION_READ_WRITE, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_CACHE_TYPE_DATA, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ } // PPTT cache attributes for instruction cache #define PPTT_INST_CACHE_ATTR \ { \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_ALLOCATION_READ, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_CACHE_TYPE_INSTRUCTION, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_ALLOCATION_READ, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_CACHE_TYPE_INSTRUCTION, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ } // PPTT cache attributes for unified cache #define PPTT_UNIFIED_CACHE_ATTR \ { \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_ALLOCATION_READ_WRITE, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_CACHE_TYPE_UNIFIED, \ - EFI_ACPI_6_3_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_ALLOCATION_READ_WRITE, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_CACHE_TYPE_UNIFIED, \ + EFI_ACPI_6_4_CACHE_ATTRIBUTES_WRITE_POLICY_WRITE_BACK \ } // A macro to initialise the common header part of EFI ACPI tables as defined by @@ -185,12 +186,13 @@ typedef struct { EFI_ACPI_ARM_CREATOR_REVISION /* UINT32 CreatorRevision */ \ } -// EFI_ACPI_6_2_GIC_STRUCTURE -#define EFI_ACPI_6_2_GICC_STRUCTURE_INIT(GicId, AcpiCpuUid, Mpidr, Flags, \ - PmuIrq, GicBase, GicVBase, GicHBase, GsivId, GicRBase, Efficiency) \ +// EFI_ACPI_6_4_GIC_STRUCTURE +#define EFI_ACPI_6_4_GICC_STRUCTURE_INIT(GicId, AcpiCpuUid, Mpidr, Flags, \ + PmuIrq, GicBase, GicVBase, GicHBase, GsivId, GicRBase, Efficiency, \ + SpeOverflowInterrupt) \ { \ - EFI_ACPI_6_2_GIC, /* Type */ \ - sizeof (EFI_ACPI_6_2_GIC_STRUCTURE), /* Length */ \ + EFI_ACPI_6_4_GIC, /* Type */ \ + sizeof (EFI_ACPI_6_4_GIC_STRUCTURE), /* Length */ \ EFI_ACPI_RESERVED_WORD, /* Reserved */ \ GicId, /* CPUInterfaceNumber */ \ AcpiCpuUid, /* AcpiProcessorUid */ \ @@ -205,19 +207,16 @@ typedef struct { GicRBase, /* GICRBaseAddress */ \ Mpidr, /* MPIDR */ \ Efficiency, /* ProcessorPowerEfficiencyClass */ \ - { \ - EFI_ACPI_RESERVED_BYTE, /* Reserved2[0] */ \ - EFI_ACPI_RESERVED_BYTE, /* Reserved2[1] */ \ - EFI_ACPI_RESERVED_BYTE /* Reserved2[2] */ \ - } \ + EFI_ACPI_RESERVED_BYTE, /* Reserved2 */ \ + SpeOverflowInterrupt /* SpeOverflowInterrupt */ \ } -// EFI_ACPI_6_2_GIC_DISTRIBUTOR_STRUCTURE -#define EFI_ACPI_6_2_GIC_DISTRIBUTOR_INIT(GicDistHwId, GicDistBase, \ +// EFI_ACPI_6_4_GIC_DISTRIBUTOR_STRUCTURE +#define EFI_ACPI_6_4_GIC_DISTRIBUTOR_INIT(GicDistHwId, GicDistBase, \ GicDistVector, GicVersion) \ { \ - EFI_ACPI_6_2_GICD, /* Type */ \ - sizeof (EFI_ACPI_6_2_GIC_DISTRIBUTOR_STRUCTURE), \ + EFI_ACPI_6_4_GICD, /* Type */ \ + sizeof (EFI_ACPI_6_4_GIC_DISTRIBUTOR_STRUCTURE), \ EFI_ACPI_RESERVED_WORD, /* Reserved1 */ \ GicDistHwId, /* GicId */ \ GicDistBase, /* PhysicalBaseAddress */ \ @@ -230,43 +229,43 @@ typedef struct { } \ } -// EFI_ACPI_6_2_GICR_STRUCTURE -#define EFI_ACPI_6_2_GIC_REDISTRIBUTOR_INIT(RedisRegionAddr, RedisDiscLength) \ +// EFI_ACPI_6_4_GICR_STRUCTURE +#define EFI_ACPI_6_4_GIC_REDISTRIBUTOR_INIT(RedisRegionAddr, RedisDiscLength) \ { \ - EFI_ACPI_6_2_GICR, /* Type */ \ - sizeof (EFI_ACPI_6_2_GICR_STRUCTURE), /* Length */ \ + EFI_ACPI_6_4_GICR, /* Type */ \ + sizeof (EFI_ACPI_6_4_GICR_STRUCTURE), /* Length */ \ EFI_ACPI_RESERVED_WORD, /* Reserved */ \ RedisRegionAddr, /* DiscoveryRangeBaseAddress */ \ RedisDiscLength /* DiscoveryRangeLength */ \ } -// EFI_ACPI_6_2_GIC_ITS_STRUCTURE -#define EFI_ACPI_6_2_GIC_ITS_INIT(GicItsId, GicItsBase) \ +// EFI_ACPI_6_4_GIC_ITS_STRUCTURE +#define EFI_ACPI_6_4_GIC_ITS_INIT(GicItsId, GicItsBase) \ { \ - EFI_ACPI_6_2_GIC_ITS, /* Type */ \ - sizeof (EFI_ACPI_6_2_GIC_ITS_STRUCTURE), \ + EFI_ACPI_6_4_GIC_ITS, /* Type */ \ + sizeof (EFI_ACPI_6_4_GIC_ITS_STRUCTURE), \ EFI_ACPI_RESERVED_WORD, /* Reserved */ \ GicItsId, /* GicItsId */ \ GicItsBase, /* PhysicalBaseAddress */ \ EFI_ACPI_RESERVED_DWORD /* DiscoveryRangeLength */ \ } -// EFI_ACPI_6_3_MEMORY_AFFINITY_STRUCTURE -#define EFI_ACPI_6_3_MEMORY_AFFINITY_STRUCTURE_INIT( \ +// EFI_ACPI_6_4_MEMORY_AFFINITY_STRUCTURE +#define EFI_ACPI_6_4_MEMORY_AFFINITY_STRUCTURE_INIT( \ ProximityDomain, Base, Length, Flags) \ { \ - 1, sizeof (EFI_ACPI_6_3_MEMORY_AFFINITY_STRUCTURE), ProximityDomain, \ + 1, sizeof (EFI_ACPI_6_4_MEMORY_AFFINITY_STRUCTURE), ProximityDomain, \ EFI_ACPI_RESERVED_WORD, (Base) & 0xffffffff, \ (Base) >> 32, (Length) & 0xffffffff, \ (Length) >> 32, EFI_ACPI_RESERVED_DWORD, Flags, \ EFI_ACPI_RESERVED_QWORD \ } -// EFI_ACPI_6_3_GICC_AFFINITY_STRUCTURE -#define EFI_ACPI_6_3_GICC_AFFINITY_STRUCTURE_INIT( \ +// EFI_ACPI_6_4_GICC_AFFINITY_STRUCTURE +#define EFI_ACPI_6_4_GICC_AFFINITY_STRUCTURE_INIT( \ ProximityDomain, ACPIProcessorUID, Flags, ClockDomain) \ { \ - 3, sizeof (EFI_ACPI_6_3_GICC_AFFINITY_STRUCTURE), ProximityDomain, \ + 3, sizeof (EFI_ACPI_6_4_GICC_AFFINITY_STRUCTURE), ProximityDomain, \ ACPIProcessorUID, Flags, ClockDomain \ } @@ -274,16 +273,16 @@ typedef struct { // HMAT related structures // // Memory Proximity Domain Attributes Structure -// Refer Section 5.2.27.3 in ACPI Specification, Version 6.3 -#define EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT( \ +// Refer Section 5.2.27.3 in ACPI Specification, Version 6.4 +#define EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT( \ Flags, ProximityDomainForAttachedIntiator, ProximityDomainForMemory) \ { \ - EFI_ACPI_6_3_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES, \ + EFI_ACPI_6_4_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES, \ { \ EFI_ACPI_RESERVED_BYTE, \ EFI_ACPI_RESERVED_BYTE \ }, \ - sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES), \ + sizeof (EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES), \ { \ Flags, \ 0 \ @@ -319,28 +318,27 @@ typedef struct { } // System Locality Latency and Bandwidth Information Structure -// Refer Section 5.2.27.4 in ACPI Specification, Version 6.3 -#define EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_INIT( \ - Flags, DataType, NumInitiatorProximityDomains, \ +// Refer Section 5.2.27.4 in ACPI Specification, Version 6.4 +#define EFI_ACPI_6_4_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_INIT( \ + Flags, DataType, MinTransferSize, NumInitiatorProximityDomains, \ NumTargetProximityDomains, EntryBaseUnit) \ { \ - EFI_ACPI_6_3_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO, \ + EFI_ACPI_6_4_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO, \ { \ EFI_ACPI_RESERVED_BYTE, \ EFI_ACPI_RESERVED_BYTE \ }, \ - sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO) + \ + sizeof (EFI_ACPI_6_4_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO) + \ (4 * NumInitiatorProximityDomains) + (4 * NumTargetProximityDomains) + \ (2 * NumInitiatorProximityDomains * NumTargetProximityDomains), \ { \ Flags, \ + 0, \ 0 \ }, \ + MinTransferSize, \ DataType, \ - { \ - EFI_ACPI_RESERVED_BYTE, \ - EFI_ACPI_RESERVED_BYTE \ - }, \ + EFI_ACPI_RESERVED_BYTE, \ NumInitiatorProximityDomains, \ NumTargetProximityDomains, \ { \ @@ -353,17 +351,17 @@ typedef struct { } // Memory Side Cache Information Structure -// Refer Section 5.2.27.5 in ACPI Specification, Version 6.3 -#define EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT( \ +// Refer Section 5.2.27.5 in ACPI Specification, Version 6.4 +#define EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT( \ MemoryProximityDomain, MemorySideCacheSize, CacheAttributes, \ NumberOfSmbiosHandles) \ { \ - EFI_ACPI_6_3_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO, \ + EFI_ACPI_6_4_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO, \ { \ EFI_ACPI_RESERVED_BYTE, \ EFI_ACPI_RESERVED_BYTE \ }, \ - sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO) + \ + sizeof (EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO) + \ (NumberOfSmbiosHandles * 2), \ MemoryProximityDomain, \ { \ @@ -382,7 +380,7 @@ typedef struct { } /** A macro to initialise the Memory Side Cache Information Attributes. - See Table 5.124 in ACPI Specification, Version 6.3 + See Table 5.130 in ACPI Specification, Version 6.4 @param [in] TotalCacheLevels Total Cache Levels for this Memory Proximity. @param [in] CacheLevel Cache Level described in this structure. @@ -397,11 +395,11 @@ typedef struct { TotalCacheLevels, CacheLevel, CacheAssociativity, WritePolicy, CacheLineSize \ } -// EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR -#define EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR_INIT(Length, Flag, Parent, \ +// EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR +#define EFI_ACPI_6_4_PPTT_STRUCTURE_PROCESSOR_INIT(Length, Flag, Parent, \ ACPIProcessorID, NumberOfPrivateResource) \ { \ - EFI_ACPI_6_3_PPTT_TYPE_PROCESSOR, /* Type 0 */ \ + EFI_ACPI_6_4_PPTT_TYPE_PROCESSOR, /* Type 0 */ \ Length, /* Length */ \ { \ EFI_ACPI_RESERVED_BYTE, \ @@ -413,12 +411,12 @@ typedef struct { NumberOfPrivateResource /* Resource count */ \ } -// EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE -#define EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE_INIT(Flag, NextLevelCache, Size, \ - NoOfSets, Associativity, Attributes, LineSize) \ +// EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE +#define EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE_INIT(Flag, NextLevelCache, Size, \ + NoOfSets, Associativity, Attributes, LineSize, CacheId) \ { \ - EFI_ACPI_6_3_PPTT_TYPE_CACHE, /* Type 1 */ \ - sizeof (EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE), /* Length */ \ + EFI_ACPI_6_4_PPTT_TYPE_CACHE, /* Type 1 */ \ + sizeof (EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE), /* Length */ \ { \ EFI_ACPI_RESERVED_BYTE, \ EFI_ACPI_RESERVED_BYTE, \ @@ -429,7 +427,8 @@ typedef struct { NoOfSets, /* Num of sets */ \ Associativity, /* Num of ways */ \ Attributes, /* Cache attributes */ \ - LineSize /* Line size in bytes */ \ + LineSize, /* Line size in bytes */ \ + CacheId /* Cache id */ \ } /** Helper macro for CPPC _CPC object initialization. Use of this macro is diff --git a/Platform/ARM/SgiPkg/AcpiTables/Dbg2.aslc b/Platform/ARM/SgiPkg/AcpiTables/Dbg2.aslc index 279f847cce4c..b85e7272fd82 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Dbg2.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Dbg2.aslc @@ -1,16 +1,22 @@ /** @file -* Debug Port Table 2 (DBG2) -* -* Copyright (c) 2018, ARM Limited. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* + Debug Port Table 2 (DBPG2) + + Debug Port Table 2 is used in platform firmware to describe the debug + ports available on the system to the OS. The reference design platforms use + the non-secure UART port in the compute subsystem as the debug port. + + Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Specification Reference: + - https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup + /acpi-debug-port-table **/ -#include "SgiAcpiHeader.h" -#include <Library/AcpiLib.h> -#include <IndustryStandard/Acpi62.h> #include <IndustryStandard/DebugPort2Table.h> +#include <Library/AcpiLib.h> +#include "SgiAcpiHeader.h" #define SGI_DBG2_NUM_DEBUG_PORTS 1 #define SGI_DBG2_NUM_GAS 1 @@ -21,7 +27,7 @@ typedef struct { EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT Dbg2Device; - EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister; + EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister; UINT32 AddressSize; UINT8 NameSpaceString[SGI_DBG2_NS_STR_LENGTH]; } DBG2_DEBUG_DEVICE_INFORMATION; @@ -48,7 +54,7 @@ typedef struct { OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, BaseAddressRegister), /* UINT16 BaseAddressRegister Offset */ \ OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, AddressSize) /* UINT16 AddressSize Offset */ \ }, \ - ARM_GAS32 (UartBase), /* EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister */ \ + ARM_GAS32 (UartBase), /* EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister */ \ UartAddrLen, /* UINT32 AddressSize */ \ UartNameStr /* UINT8 NameSpaceString[MAX_DBG2_NAME_LEN] */ \ } @@ -56,7 +62,7 @@ typedef struct { STATIC DBG2_TABLE Dbg2 = { { ARM_ACPI_HEADER ( - EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE, + EFI_ACPI_6_4_DEBUG_PORT_2_TABLE_SIGNATURE, DBG2_TABLE, EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION ), diff --git a/Platform/ARM/SgiPkg/AcpiTables/Fadt.aslc b/Platform/ARM/SgiPkg/AcpiTables/Fadt.aslc index 9472aff2e054..5ad448d9c9d2 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Fadt.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Fadt.aslc @@ -1,26 +1,32 @@ /** @file -* Fixed ACPI Description Table (FADT) -* -* Copyright (c) 2018, ARM Limited. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* + Fixed ACPI Description Table (FADT) + + FADT defines various fixed hardware ACPI information vital to an ACPI + compatible OS. FADT also has a pointer to the DSDT that contains the + Differentiated Definition Block, which in turn provides variable information + to an ACPI-compatible OS concerning the base system design. + + Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Specification Reference: + - ACPI 6.4, Chapter 5, Section 5.2.9, Fixed ACPI Description Table **/ -#include "SgiAcpiHeader.h" #include <Library/AcpiLib.h> -#include <IndustryStandard/Acpi.h> +#include "SgiAcpiHeader.h" -STATIC EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE Fadt = { +STATIC EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE Fadt = { ARM_ACPI_HEADER ( - EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, - EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE, - EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE, + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_REVISION ), 0, // UINT32 FirmwareCtrl 0, // UINT32 Dsdt EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved0 - EFI_ACPI_6_2_PM_PROFILE_ENTERPRISE_SERVER, // UINT8 PreferredPmProfile + EFI_ACPI_6_4_PM_PROFILE_ENTERPRISE_SERVER, // UINT8 PreferredPmProfile 0, // UINT16 SciInt 0, // UINT32 SmiCmd 0, // UINT8 AcpiEnable @@ -54,11 +60,11 @@ STATIC EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE Fadt = { 0, // UINT8 Century 0, // UINT16 IaPcBootArch 0, // UINT8 Reserved1 - EFI_ACPI_6_2_HW_REDUCED_ACPI | EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE, // UINT32 Flags + EFI_ACPI_6_4_HW_REDUCED_ACPI | EFI_ACPI_6_4_LOW_POWER_S0_IDLE_CAPABLE, // UINT32 Flags NULL_GAS, // GAS ResetReg 0, // UINT8 ResetValue - EFI_ACPI_6_2_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags - EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision + EFI_ACPI_6_4_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags + EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision 0, // UINT64 XFirmwareCtrl 0, // UINT64 XDsdt NULL_GAS, // GAS XPm1aEvtBlk diff --git a/Platform/ARM/SgiPkg/AcpiTables/Gtdt.aslc b/Platform/ARM/SgiPkg/AcpiTables/Gtdt.aslc index b53cbb228f92..70765f87e537 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Gtdt.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Gtdt.aslc @@ -1,16 +1,21 @@ /** @file -* Generic Timer Description Table (GTDT) -* -* Copyright (c) 2018, ARM Limited. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* + Generic Timer Description Table (GTDT) + + GTDT provides OSPM with information about a system’s Generic Timers + configuration. This table lists the watchdog and generic timer instances + available on the reference design platforms. + + Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Specification Reference: + - ACPI 6.4, Chapter 5, Section 5.2.24, Generic Timer Description Table **/ -#include "SgiAcpiHeader.h" #include <Library/AcpiLib.h> #include <Library/PcdLib.h> -#include <IndustryStandard/Acpi62.h> +#include "SgiAcpiHeader.h" #define SGI_PLATFORM_WATCHDOG_COUNT 2 #define SGI_PLATFORM_TIMER_COUNT (SGI_PLATFORM_WATCHDOG_COUNT + 1) @@ -18,7 +23,7 @@ #define SYSTEM_TIMER_BASE_ADDRESS 0xFFFFFFFFFFFFFFFF #define GTDT_GLOBAL_FLAGS 0 -#define GTDT_GTIMER_FLAGS EFI_ACPI_6_2_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY +#define GTDT_GTIMER_FLAGS EFI_ACPI_6_4_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY #define SGI_GT_BLOCK_CTL_BASE 0x2A810000 #define SGI_GT_BLOCK_FRAME1_CTL_BASE 0x2A820000 @@ -30,18 +35,18 @@ #define SGI_GT_BLOCK_FRAME0_GSIV FixedPcdGet32 (PcdGtFrame0Gsiv) #define SGI_GTX_TIMER_FLAGS 0 -#define GTX_TIMER_SECURE EFI_ACPI_6_2_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER +#define GTX_TIMER_SECURE EFI_ACPI_6_4_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER #define GTX_TIMER_NON_SECURE 0 -#define GTX_TIMER_SAVE_CONTEXT EFI_ACPI_6_2_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY +#define GTX_TIMER_SAVE_CONTEXT EFI_ACPI_6_4_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY #define SGI_GTX_COMMON_FLAGS_S (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE) #define SGI_GTX_COMMON_FLAGS_NS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_NON_SECURE) -#define EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT( \ +#define EFI_ACPI_6_4_ARM_GENERIC_WATCHDOG_STRUCTURE_INIT( \ RefreshFramePhysicalAddress, ControlFramePhysicalAddress, \ WatchdogTimerGSIV, WatchdogTimerFlags) \ { \ - EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG, \ - sizeof (EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE), \ + EFI_ACPI_6_4_GTDT_ARM_GENERIC_WATCHDOG, \ + sizeof (EFI_ACPI_6_4_GTDT_ARM_GENERIC_WATCHDOG_STRUCTURE), \ EFI_ACPI_RESERVED_WORD, \ RefreshFramePhysicalAddress, \ ControlFramePhysicalAddress, \ @@ -52,20 +57,20 @@ #pragma pack (1) typedef struct { - EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt; - EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE GtBlock; - EFI_ACPI_6_2_GTDT_GT_BLOCK_TIMER_STRUCTURE Frames[SGI_TIMER_FRAMES_COUNT]; - EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE Watchdogs[SGI_PLATFORM_WATCHDOG_COUNT]; -} EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES; + EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt; + EFI_ACPI_6_4_GTDT_GT_BLOCK_STRUCTURE GtBlock; + EFI_ACPI_6_4_GTDT_GT_BLOCK_TIMER_STRUCTURE Frames[SGI_TIMER_FRAMES_COUNT]; + EFI_ACPI_6_4_GTDT_ARM_GENERIC_WATCHDOG_STRUCTURE Watchdogs[SGI_PLATFORM_WATCHDOG_COUNT]; +} EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLES; #pragma pack () -STATIC EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { +STATIC EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { { ARM_ACPI_HEADER ( - EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE, - EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES, - EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION + EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLES, + EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION ), SYSTEM_TIMER_BASE_ADDRESS, // UINT64 PhysicalAddress 0, // UINT32 Reserved @@ -79,17 +84,19 @@ STATIC EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress SGI_PLATFORM_TIMER_COUNT, // UINT32 PlatformTimerCount - sizeof (EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset + sizeof (EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE), // UINT32 PlatfromTimerOffset + 0, // UINT32 VirtualPL2TimerGSIV + 0 // UINT32 VirtualPL2TimerFlags }, { - EFI_ACPI_6_2_GTDT_GT_BLOCK, // UINT8 Type - sizeof (EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE) + // UINT16 Length - sizeof (EFI_ACPI_6_2_GTDT_GT_BLOCK_TIMER_STRUCTURE) * + EFI_ACPI_6_4_GTDT_GT_BLOCK, // UINT8 Type + sizeof (EFI_ACPI_6_4_GTDT_GT_BLOCK_STRUCTURE) + // UINT16 Length + sizeof (EFI_ACPI_6_4_GTDT_GT_BLOCK_TIMER_STRUCTURE) * SGI_TIMER_FRAMES_COUNT, EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved SGI_GT_BLOCK_CTL_BASE, // UINT64 CntCtlBase SGI_TIMER_FRAMES_COUNT, // UINT32 GTBlockTimerCount - sizeof (EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE) // UINT32 GTBlockTimerOffset + sizeof (EFI_ACPI_6_4_GTDT_GT_BLOCK_STRUCTURE) // UINT32 GTBlockTimerOffset }, { { @@ -124,17 +131,17 @@ STATIC EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { } }, { - EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT ( + EFI_ACPI_6_4_ARM_GENERIC_WATCHDOG_STRUCTURE_INIT ( FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), FixedPcdGet32 (PcdWdogWS0Gsiv), 0 ), - EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT ( + EFI_ACPI_6_4_ARM_GENERIC_WATCHDOG_STRUCTURE_INIT ( FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), FixedPcdGet32 (PcdWdogWS1Gsiv), - EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER + EFI_ACPI_6_4_GTDT_ARM_GENERIC_WATCHDOG_FLAG_SECURE_TIMER ) } }; diff --git a/Platform/ARM/SgiPkg/AcpiTables/Mcfg.aslc b/Platform/ARM/SgiPkg/AcpiTables/Mcfg.aslc index 090297d9541a..96fb6281ea53 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Mcfg.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Mcfg.aslc @@ -1,22 +1,24 @@ /** @file -* Memory mapped configuration space base address description table (MCFG) -* -* Copyright (c) 2018, ARM Ltd. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* + Memory mapped configuration space base address description table (MCFG) + + The MCFG table provides the address of the PCI configuration space, which + is required by the OS to perform the PCIe bus enumeration. + + Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Specification Reference: + - http://www.pcisig.com/home **/ -#include <IndustryStandard/Acpi62.h> #include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h> +#include <Library/AcpiLib.h> +#include <Library/ArmLib.h> #include <Library/PcdLib.h> #include "SgiAcpiHeader.h" #include "SgiPlatform.h" -#include <Library/AcpiLib.h> -#include <Library/ArmLib.h> -#include <IndustryStandard/Acpi.h> - #pragma pack(1) typedef struct { @@ -28,7 +30,7 @@ typedef struct EFI_ACPI_PCI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE Mcfg = { { ARM_ACPI_HEADER ( - EFI_ACPI_6_2_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_4_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE, EFI_ACPI_PCI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE, EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION ), diff --git a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc index 632144530076..6467fcdf4fd0 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc @@ -1,20 +1,27 @@ /** @file -* Serial Port Console Redirection Table (SPCR) -* -* Copyright (c) 2018, ARM Limited. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* + Serial Port Console Redirection Table (SPCR) + + SPCR table provides information about the configuration and use of the serial + port or non-legacy UART interface. This table list the non-secure UART + instance in the compute subsystem on the reference design platforms as the + available serial port. + + Copyright (c) 2018 - 2022, Arm Limited. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Specification Reference: + - https://docs.microsoft.com/en-us/windows-hardware/drivers/serports/ + serial-port-console-redirection-table **/ -#include "SgiAcpiHeader.h" -#include <Library/AcpiLib.h> -#include <IndustryStandard/Acpi62.h> #include <IndustryStandard/SerialPortConsoleRedirectionTable.h> +#include <Library/AcpiLib.h> +#include "SgiAcpiHeader.h" STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { ARM_ACPI_HEADER ( - EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE, + EFI_ACPI_6_4_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE, EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE, EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION ), @@ -26,7 +33,7 @@ STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE }, - // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE BaseAddress; + // EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE BaseAddress; ARM_GAS32 (FixedPcdGet64 (PcdSerialDbgRegisterBase)), // UINT8 InterruptType; EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC, -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89000): https://edk2.groups.io/g/devel/message/89000 Mute This Topic: https://groups.io/mt/90537676/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-