From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: "mikuback@linux.microsoft.com" <mikuback@linux.microsoft.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chiu, Chasel" <chasel.chiu@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
"Dong, Eric" <eric.dong@intel.com>,
"Maddy, Daniel" <danmad@microsoft.com>,
Michael Kubacki <michael.kubacki@microsoft.com>
Subject: Re: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: Update structures for ACPI 6.3
Date: Mon, 9 Aug 2021 20:00:09 +0000 [thread overview]
Message-ID: <MWHPR1101MB2160D6BA05BF626DECF457C8CDF69@MWHPR1101MB2160.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210806195356.372-1-mikuback@linux.microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
> -----Original Message-----
> From: mikuback@linux.microsoft.com <mikuback@linux.microsoft.com>
> Sent: Friday, August 6, 2021 12:54 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com>; Maddy,
> Daniel <danmad@microsoft.com>; Michael Kubacki
> <michael.kubacki@microsoft.com>
> Subject: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables:
> Update structures for ACPI 6.3
>
> From: Daniel Maddy <danmad@microsoft.com>
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3535
>
> Updates ACPI table structures in MinPlatformPkg for ACPI 6.3.
>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Daniel Maddy <danmad@microsoft.com>
> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> ---
> Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 203
> ++++++++++----------
> Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c | 11 +-
> Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c | 74 ++++---
> 3 files changed, 150 insertions(+), 138 deletions(-)
>
> diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> index 2b51c34ef2fd..5e3c4c0672f9 100644
> --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> @@ -2,6 +2,7 @@
> ACPI Platform Driver
>
> Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) Microsoft Corporation.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -13,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #pragma
> pack(1)
>
> typedef struct {
> - UINT32 AcpiProcessorId;
> + UINT32 AcpiProcessorUid;
> UINT32 ApicId;
> UINT32 Flags;
> UINT32 SwProcApicId;
> @@ -27,9 +28,9 @@ typedef struct {
> // Define Union of IO APIC & Local APIC structure; // typedef union {
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic;
> - EFI_ACPI_4_0_IO_APIC_STRUCTURE AcpiIoApic;
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE AcpiLocalx2Apic;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic;
> + EFI_ACPI_6_3_IO_APIC_STRUCTURE AcpiIoApic;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE AcpiLocalx2Apic;
> struct {
> UINT8 Type;
> UINT8 Length;
> @@ -38,9 +39,9 @@ typedef union {
>
> #pragma pack()
>
> -extern EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs; -
> extern EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt; -extern
> EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER Hpet;
> +extern EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs;
> +extern EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt;
> +extern EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER Hpet;
> extern EFI_ACPI_WSMT_TABLE Wsmt;
>
> VOID *mLocalTable[] = {
> @@ -217,7 +218,7 @@ DebugDisplayReOrderTable(
> DEBUG ((EFI_D_ERROR, "Index AcpiProcId ApicId Flags SwApicId Skt\n"));
> for (Index=0; Index<MAX_CPU_NUM; Index++) {
> DEBUG ((EFI_D_ERROR, " %02d 0x%02X 0x%02X %d 0x%02X
> %d\n",
> - Index, mCpuApicIdOrderTable[Index].AcpiProcessorId,
> + Index,
> + mCpuApicIdOrderTable[Index].AcpiProcessorUid,
> mCpuApicIdOrderTable[Index].ApicId,
> mCpuApicIdOrderTable[Index].Flags,
> mCpuApicIdOrderTable[Index].SwProcApicId,
> @@ -232,31 +233,31 @@ AppendCpuMapTableEntry (
> )
> {
> EFI_STATUS Status;
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE *LocalApicPtr;
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE *LocalX2ApicPtr;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE *LocalApicPtr;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE *LocalX2ApicPtr;
> UINT8 Type;
>
> Status = EFI_SUCCESS;
> Type = ((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiApicCommon.Type;
> - LocalApicPtr = (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE
> *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic);
> - LocalX2ApicPtr = (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE
> *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic);
> + LocalApicPtr = (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE
> + *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic);
> + LocalX2ApicPtr = (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE
> + *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic);
>
> - if(Type == EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC) {
> + if(Type == EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC) {
> if(!mX2ApicEnabled) {
> - LocalApicPtr->Flags =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].Flags;
> - LocalApicPtr->ApicId =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].ApicId;
> - LocalApicPtr->AcpiProcessorId =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorId;
> + LocalApicPtr->Flags =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].Flags;
> + LocalApicPtr->ApicId =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].ApicId;
> + LocalApicPtr->AcpiProcessorUid =
> + (UINT8)mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorUid;
> } else {
> - LocalApicPtr->Flags = 0;
> - LocalApicPtr->ApicId = 0xFF;
> - LocalApicPtr->AcpiProcessorId = (UINT8)0xFF;
> + LocalApicPtr->Flags = 0;
> + LocalApicPtr->ApicId = 0xFF;
> + LocalApicPtr->AcpiProcessorUid = (UINT8)0xFF;
> Status = EFI_UNSUPPORTED;
> }
> - } else if(Type == EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC) {
> + } else if(Type == EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC) {
> if(mX2ApicEnabled) {
> LocalX2ApicPtr->Flags =
> (UINT8)mCpuApicIdOrderTable[LocalApicCounter].Flags;
> LocalX2ApicPtr->X2ApicId =
> mCpuApicIdOrderTable[LocalApicCounter].ApicId;
> - LocalX2ApicPtr->AcpiProcessorUid =
> mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorId;
> + LocalX2ApicPtr->AcpiProcessorUid =
> + mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorUid;
> } else {
> LocalX2ApicPtr->Flags = 0;
> LocalX2ApicPtr->X2ApicId = (UINT32)-1;
> @@ -311,8 +312,8 @@ SortCpuLocalApicInTable (
> CpuIdMapPtr->ApicId = (UINT32)ProcessorInfoBuffer.ProcessorId;
> CpuIdMapPtr->Flags = ((ProcessorInfoBuffer.StatusFlag &
> PROCESSOR_ENABLED_BIT) != 0);
> CpuIdMapPtr->SocketNum =
> (UINT32)ProcessorInfoBuffer.Location.Package;
> - CpuIdMapPtr->AcpiProcessorId = (CpuIdMapPtr->SocketNum *
> FixedPcdGet32(PcdMaxCpuCoreCount) *
> FixedPcdGet32(PcdMaxCpuThreadCount)) +
> GetIndexFromApicId(CpuIdMapPtr->ApicId); //CpuIdMapPtr->ApicId;
> - CpuIdMapPtr->SwProcApicId =
> ((UINT32)(ProcessorInfoBuffer.Location.Package << mNumOfBitShift) +
> (((UINT32)ProcessorInfoBuffer.ProcessorId) & CoreThreadMask));
> + CpuIdMapPtr->AcpiProcessorUid = (CpuIdMapPtr->SocketNum *
> FixedPcdGet32(PcdMaxCpuCoreCount) *
> FixedPcdGet32(PcdMaxCpuThreadCount)) +
> GetIndexFromApicId(CpuIdMapPtr->ApicId); //CpuIdMapPtr->ApicId;
> + CpuIdMapPtr->SwProcApicId =
> ((UINT32)(ProcessorInfoBuffer.Location.Package << mNumOfBitShift) +
> (((UINT32)ProcessorInfoBuffer.ProcessorId) & CoreThreadMask));
> if(mX2ApicEnabled) { //if X2Apic, re-order the socket # so it starts from
> base 0 and contiguous
> //may not necessory!!!!!
> }
> @@ -321,18 +322,18 @@ SortCpuLocalApicInTable (
> if (CpuIdMapPtr->Flags == 1) {
>
> if(mForceX2ApicId) {
> - CpuIdMapPtr->SocketNum &= 0x7;
> - CpuIdMapPtr->AcpiProcessorId &= 0xFF; //keep lower 8bit due to use
> Proc obj in dsdt
> - CpuIdMapPtr->SwProcApicId &= 0xFF;
> + CpuIdMapPtr->SocketNum &= 0x7;
> + CpuIdMapPtr->AcpiProcessorUid &= 0xFF; //keep lower 8bit due to
> use Proc obj in dsdt
> + CpuIdMapPtr->SwProcApicId &= 0xFF;
> }
> }
> } else { //not enabled
> - CpuIdMapPtr = (EFI_CPU_ID_ORDER_MAP
> *)&mCpuApicIdOrderTable[Index];
> - CpuIdMapPtr->ApicId = (UINT32)-1;
> - CpuIdMapPtr->Flags = 0;
> - CpuIdMapPtr->AcpiProcessorId = (UINT32)-1;
> - CpuIdMapPtr->SwProcApicId = (UINT32)-1;
> - CpuIdMapPtr->SocketNum = (UINT32)-1;
> + CpuIdMapPtr = (EFI_CPU_ID_ORDER_MAP
> *)&mCpuApicIdOrderTable[Index];
> + CpuIdMapPtr->ApicId = (UINT32)-1;
> + CpuIdMapPtr->Flags = 0;
> + CpuIdMapPtr->AcpiProcessorUid = (UINT32)-1;
> + CpuIdMapPtr->SwProcApicId = (UINT32)-1;
> + CpuIdMapPtr->SocketNum = (UINT32)-1;
> } //end if PROC ENABLE
> } //end for CurrentProcessor
>
> @@ -366,9 +367,9 @@ SortCpuLocalApicInTable (
> mCpuApicIdOrderTable[Index].SwProcApicId =
> mCpuApicIdOrderTable[0].SwProcApicId;
> mCpuApicIdOrderTable[0].SwProcApicId = TempVal;
> //swap AcpiProcId
> - TempVal = mCpuApicIdOrderTable[Index].AcpiProcessorId;
> - mCpuApicIdOrderTable[Index].AcpiProcessorId =
> mCpuApicIdOrderTable[0].AcpiProcessorId;
> - mCpuApicIdOrderTable[0].AcpiProcessorId = TempVal;
> + TempVal = mCpuApicIdOrderTable[Index].AcpiProcessorUid;
> + mCpuApicIdOrderTable[Index].AcpiProcessorUid =
> mCpuApicIdOrderTable[0].AcpiProcessorUid;
> + mCpuApicIdOrderTable[0].AcpiProcessorUid = TempVal;
>
> }
>
> @@ -377,23 +378,23 @@ SortCpuLocalApicInTable (
>
> if(mCpuApicIdOrderTable[CurrProcessor].Flags == 0) {
> //make sure disabled entry has ProcId set to FFs
> - mCpuApicIdOrderTable[CurrProcessor].ApicId = (UINT32)-1;
> - mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorId = (UINT32)-1;
> - mCpuApicIdOrderTable[CurrProcessor].SwProcApicId = (UINT32)-1;
> + mCpuApicIdOrderTable[CurrProcessor].ApicId = (UINT32)-1;
> + mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorUid = (UINT32)-1;
> + mCpuApicIdOrderTable[CurrProcessor].SwProcApicId = (UINT32)-1;
>
> for(Index = CurrProcessor+1; Index < MAX_CPU_NUM; Index++) {
> if(mCpuApicIdOrderTable[Index].Flags == 1) {
> //move enabled entry up
> - mCpuApicIdOrderTable[CurrProcessor].Flags = 1;
> - mCpuApicIdOrderTable[CurrProcessor].ApicId =
> mCpuApicIdOrderTable[Index].ApicId;
> - mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorId =
> mCpuApicIdOrderTable[Index].AcpiProcessorId;
> - mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =
> mCpuApicIdOrderTable[Index].SwProcApicId;
> - mCpuApicIdOrderTable[CurrProcessor].SocketNum =
> mCpuApicIdOrderTable[Index].SocketNum;
> + mCpuApicIdOrderTable[CurrProcessor].Flags = 1;
> + mCpuApicIdOrderTable[CurrProcessor].ApicId =
> mCpuApicIdOrderTable[Index].ApicId;
> + mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorUid =
> mCpuApicIdOrderTable[Index].AcpiProcessorUid;
> + mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =
> mCpuApicIdOrderTable[Index].SwProcApicId;
> + mCpuApicIdOrderTable[CurrProcessor].SocketNum =
> mCpuApicIdOrderTable[Index].SocketNum;
> //disable moved entry
> - mCpuApicIdOrderTable[Index].Flags = 0;
> - mCpuApicIdOrderTable[Index].ApicId = (UINT32)-1;
> - mCpuApicIdOrderTable[Index].AcpiProcessorId = (UINT32)-1;
> - mCpuApicIdOrderTable[Index].SwProcApicId = (UINT32)-1;
> + mCpuApicIdOrderTable[Index].Flags = 0;
> + mCpuApicIdOrderTable[Index].ApicId = (UINT32)-1;
> + mCpuApicIdOrderTable[Index].AcpiProcessorUid = (UINT32)-1;
> + mCpuApicIdOrderTable[Index].SwProcApicId = (UINT32)-1;
> break;
> }
> }
> @@ -422,17 +423,17 @@ typedef struct {
> } STRUCTURE_HEADER;
>
> STRUCTURE_HEADER mMadtStructureTable[] = {
> - {EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC, sizeof
> (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE)},
> - {EFI_ACPI_4_0_IO_APIC, sizeof
> (EFI_ACPI_4_0_IO_APIC_STRUCTURE)},
> - {EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE, sizeof
> (EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE)},
> - {EFI_ACPI_4_0_NON_MASKABLE_INTERRUPT_SOURCE, sizeof
> (EFI_ACPI_4_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE)},
> - {EFI_ACPI_4_0_LOCAL_APIC_NMI, sizeof
> (EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE)},
> - {EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof
> (EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE)},
> - {EFI_ACPI_4_0_IO_SAPIC, sizeof
> (EFI_ACPI_4_0_IO_SAPIC_STRUCTURE)},
> - {EFI_ACPI_4_0_LOCAL_SAPIC, sizeof
> (EFI_ACPI_4_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE)},
> - {EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES, sizeof
> (EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE)},
> - {EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC, sizeof
> (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE)},
> - {EFI_ACPI_4_0_LOCAL_X2APIC_NMI, sizeof
> (EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE)}
> + {EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC, sizeof
> (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE)},
> + {EFI_ACPI_6_3_IO_APIC, sizeof
> (EFI_ACPI_6_3_IO_APIC_STRUCTURE)},
> + {EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE, sizeof
> (EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE)},
> + {EFI_ACPI_6_3_NON_MASKABLE_INTERRUPT_SOURCE, sizeof
> (EFI_ACPI_6_3_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE)},
> + {EFI_ACPI_6_3_LOCAL_APIC_NMI, sizeof
> (EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCTURE)},
> + {EFI_ACPI_6_3_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof
> (EFI_ACPI_6_3_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE)},
> + {EFI_ACPI_6_3_IO_SAPIC, sizeof
> (EFI_ACPI_6_3_IO_SAPIC_STRUCTURE)},
> + {EFI_ACPI_6_3_LOCAL_SAPIC, sizeof
> (EFI_ACPI_6_3_PROCESSOR_LOCAL_SAPIC_STRUCTURE)},
> + {EFI_ACPI_6_3_PLATFORM_INTERRUPT_SOURCES, sizeof
> (EFI_ACPI_6_3_PLATFORM_INTERRUPT_SOURCES_STRUCTURE)},
> + {EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC, sizeof
> (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE)},
> + {EFI_ACPI_6_3_LOCAL_X2APIC_NMI, sizeof
> (EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE)}
> };
>
> /**
> @@ -591,7 +592,7 @@ InitializeHeader (
> **/
> EFI_STATUS
> InitializeMadtHeader (
> - IN OUT EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> *MadtHeader
> + IN OUT EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> + *MadtHeader
> )
> {
> EFI_STATUS Status;
> @@ -603,8 +604,8 @@ InitializeMadtHeader (
>
> Status = InitializeHeader (
> &MadtHeader->Header,
> - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,
> - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION,
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION,
> 0
> );
> if (EFI_ERROR (Status)) {
> @@ -612,7 +613,7 @@ InitializeMadtHeader (
> }
>
> MadtHeader->LocalApicAddress = PcdGet32(PcdLocalApicAddress);
> - MadtHeader->Flags = EFI_ACPI_4_0_PCAT_COMPAT;
> + MadtHeader->Flags = EFI_ACPI_6_3_PCAT_COMPAT;
>
> return EFI_SUCCESS;
> }
> @@ -649,7 +650,7 @@ CopyStructure (
> //
> // Initialize the number of table entries and the table based on the table
> header passed in.
> //
> - if (Header->Signature ==
> EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) {
> + if (Header->Signature ==
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) {
> TableNumEntries = sizeof (mMadtStructureTable) / sizeof
> (STRUCTURE_HEADER);
> StructureTable = mMadtStructureTable;
> } else {
> @@ -759,7 +760,7 @@ BuildAcpiTable (
> return EFI_INVALID_PARAMETER;
> }
>
> - if (AcpiHeader->Signature !=
> EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) {
> + if (AcpiHeader->Signature !=
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) {
> DEBUG ((
> DEBUG_ERROR,
> "MADT header signature is expected, actually 0x%08x\n", @@ -850,15
> +851,15 @@ InstallMadtFromScratch ( {
> EFI_STATUS Status;
> UINTN Index;
> - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> *NewMadtTable;
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> *NewMadtTable;
> UINTN TableHandle;
> - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> MadtTableHeader;
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE
> ProcLocalApicStruct;
> - EFI_ACPI_4_0_IO_APIC_STRUCTURE IoApicStruct;
> - EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE
> IntSrcOverrideStruct;
> - EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct;
> - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE
> ProcLocalX2ApicStruct;
> - EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE
> LocalX2ApicNmiStruct;
> + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER
> MadtTableHeader;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE
> ProcLocalApicStruct;
> + EFI_ACPI_6_3_IO_APIC_STRUCTURE IoApicStruct;
> + EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE
> IntSrcOverrideStruct;
> + EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct;
> + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE
> ProcLocalX2ApicStruct;
> + EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE
> LocalX2ApicNmiStruct;
> STRUCTURE_HEADER **MadtStructs;
> UINTN MaxMadtStructCount;
> UINTN MadtStructsIndex;
> @@ -915,11 +916,11 @@ InstallMadtFromScratch (
> //
> // Build Processor Local APIC Structures and Processor Local X2APIC
> Structures
> //
> - ProcLocalApicStruct.Type = EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC;
> - ProcLocalApicStruct.Length = sizeof
> (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE);
> + ProcLocalApicStruct.Type = EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC;
> + ProcLocalApicStruct.Length = sizeof
> + (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE);
>
> - ProcLocalX2ApicStruct.Type = EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC;
> - ProcLocalX2ApicStruct.Length = sizeof
> (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE);
> + ProcLocalX2ApicStruct.Type = EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC;
> + ProcLocalX2ApicStruct.Length = sizeof
> + (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE);
> ProcLocalX2ApicStruct.Reserved[0] = 0;
> ProcLocalX2ApicStruct.Reserved[1] = 0;
>
> @@ -930,9 +931,9 @@ InstallMadtFromScratch (
> // use a processor local x2APIC structure.
> //
> if (!mX2ApicEnabled && mCpuApicIdOrderTable[Index].ApicId <
> MAX_UINT8) {
> - ProcLocalApicStruct.Flags = (UINT8)
> mCpuApicIdOrderTable[Index].Flags;
> - ProcLocalApicStruct.ApicId = (UINT8)
> mCpuApicIdOrderTable[Index].ApicId;
> - ProcLocalApicStruct.AcpiProcessorId = (UINT8)
> mCpuApicIdOrderTable[Index].AcpiProcessorId;
> + ProcLocalApicStruct.Flags = (UINT8)
> mCpuApicIdOrderTable[Index].Flags;
> + ProcLocalApicStruct.ApicId = (UINT8)
> mCpuApicIdOrderTable[Index].ApicId;
> + ProcLocalApicStruct.AcpiProcessorUid = (UINT8)
> + mCpuApicIdOrderTable[Index].AcpiProcessorUid;
>
> ASSERT (MadtStructsIndex < MaxMadtStructCount);
> Status = CopyStructure (
> @@ -943,7 +944,7 @@ InstallMadtFromScratch (
> } else if (mCpuApicIdOrderTable[Index].ApicId != 0xFFFFFFFF) {
> ProcLocalX2ApicStruct.Flags = (UINT8)
> mCpuApicIdOrderTable[Index].Flags;
> ProcLocalX2ApicStruct.X2ApicId =
> mCpuApicIdOrderTable[Index].ApicId;
> - ProcLocalX2ApicStruct.AcpiProcessorUid =
> mCpuApicIdOrderTable[Index].AcpiProcessorId;
> + ProcLocalX2ApicStruct.AcpiProcessorUid =
> + mCpuApicIdOrderTable[Index].AcpiProcessorUid;
>
> ASSERT (MadtStructsIndex < MaxMadtStructCount);
> Status = CopyStructure (
> @@ -961,8 +962,8 @@ InstallMadtFromScratch (
> //
> // Build I/O APIC Structures
> //
> - IoApicStruct.Type = EFI_ACPI_4_0_IO_APIC;
> - IoApicStruct.Length = sizeof (EFI_ACPI_4_0_IO_APIC_STRUCTURE);
> + IoApicStruct.Type = EFI_ACPI_6_3_IO_APIC; IoApicStruct.Length =
> + sizeof (EFI_ACPI_6_3_IO_APIC_STRUCTURE);
> IoApicStruct.Reserved = 0;
>
> PcIoApicEnable = PcdGet32(PcdPcIoApicEnable); @@ -1008,8 +1009,8 @@
> InstallMadtFromScratch (
> //
> // Build Interrupt Source Override Structures
> //
> - IntSrcOverrideStruct.Type =
> EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE;
> - IntSrcOverrideStruct.Length = sizeof
> (EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE);
> + IntSrcOverrideStruct.Type =
> EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE;
> + IntSrcOverrideStruct.Length = sizeof
> + (EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE);
>
> //
> // IRQ0=>IRQ2 Interrupt Source Override Structure @@ -1052,11 +1053,11
> @@ InstallMadtFromScratch (
> //
> // Build Local APIC NMI Structures
> //
> - LocalApciNmiStruct.Type = EFI_ACPI_4_0_LOCAL_APIC_NMI;
> - LocalApciNmiStruct.Length = sizeof
> (EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE);
> - LocalApciNmiStruct.AcpiProcessorId = 0xFF; // Applies to all processors
> - LocalApciNmiStruct.Flags = 0x0005; // Flags - Edge-tiggered, Active
> High
> - LocalApciNmiStruct.LocalApicLint = 0x1;
> + LocalApciNmiStruct.Type = EFI_ACPI_6_3_LOCAL_APIC_NMI;
> + LocalApciNmiStruct.Length = sizeof
> (EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCTURE);
> + LocalApciNmiStruct.AcpiProcessorUid = 0xFF; // Applies to all processors
> + LocalApciNmiStruct.Flags = 0x0005; // Flags - Edge-tiggered, Active
> High
> + LocalApciNmiStruct.LocalApicLint = 0x1;
>
> ASSERT (MadtStructsIndex < MaxMadtStructCount);
> Status = CopyStructure (
> @@ -1073,8 +1074,8 @@ InstallMadtFromScratch (
> // Build Local x2APIC NMI Structure
> //
> if (mX2ApicEnabled) {
> - LocalX2ApicNmiStruct.Type = EFI_ACPI_4_0_LOCAL_X2APIC_NMI;
> - LocalX2ApicNmiStruct.Length = sizeof
> (EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE);
> + LocalX2ApicNmiStruct.Type = EFI_ACPI_6_3_LOCAL_X2APIC_NMI;
> + LocalX2ApicNmiStruct.Length = sizeof
> + (EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE);
> LocalX2ApicNmiStruct.Flags = 0x000D; // Flags - Level-tiggered,
> Active High
> LocalX2ApicNmiStruct.AcpiProcessorUid = 0xFFFFFFFF; // Applies to all
> processors
> LocalX2ApicNmiStruct.LocalX2ApicLint = 0x01; @@ -1099,7 +1100,7 @@
> InstallMadtFromScratch (
> //
> Status = BuildAcpiTable (
> (EFI_ACPI_DESCRIPTION_HEADER *) &MadtTableHeader,
> - sizeof (EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER),
> + sizeof (EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER),
> MadtStructs,
> MadtStructsIndex,
> (UINT8 **)&NewMadtTable
> @@ -1222,7 +1223,7 @@ PlatformUpdateTables (
> EFI_ACPI_DESCRIPTION_HEADER *TableHeader;
> UINT8 *TempOemId;
> UINT64 TempOemTableId;
> - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE *FadtHeader;
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *FadtHeader;
> EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER *HpetTable;
> UINT32 HpetBaseAddress;
> EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_BLOCK_ID HpetBlockId;
> @@ -1279,12 +1280,12 @@ PlatformUpdateTables (
> //
> switch (Table->Signature) {
>
> - case EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE:
> + case EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE:
> ASSERT(FALSE);
> break;
>
> - case EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE:
> - FadtHeader = (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE *)
> Table;
> + case EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE:
> + FadtHeader = (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *) Table;
>
> FadtHeader->PreferredPmProfile = PcdGet8
> (PcdFadtPreferredPmProfile);
> FadtHeader->IaPcBootArch = PcdGet16 (PcdFadtIaPcBootArch);
> @@ -1329,7 +1330,7 @@ PlatformUpdateTables (
> DEBUG(( EFI_D_ERROR, " Flags 0x%x\n", FadtHeader->Flags ));
> break;
>
> - case EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE:
> + case EFI_ACPI_6_3_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE:
> HpetTable = (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER
> *)Table;
> HpetBaseAddress = PcdGet32 (PcdHpetBaseAddress);
> HpetTable->BaseAddressLower32Bit.Address = HpetBaseAddress; @@ -
> 1381,8 +1382,8 @@ IsHardwareChange (
> UINTN HWChangeSize;
> UINT32 PciId;
> UINTN Handle;
> - EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr;
> - EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *pFADT;
> + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr;
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *pFADT;
>
> HandleCount = 0;
> HandleBuffer = NULL;
> @@ -1428,7 +1429,7 @@ IsHardwareChange (
> //
> Handle = 0;
> Status = LocateAcpiTableBySignature (
> - EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
> (EFI_ACPI_DESCRIPTION_HEADER **) &pFADT,
> &Handle
> );
> @@ -1450,7 +1451,7 @@ IsHardwareChange (
> //
> // Set HardwareSignature value based on CRC value.
> //
> - FacsPtr = (EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE
> *)(UINTN)pFADT->FirmwareCtrl;
> + FacsPtr = (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE
> + *)(UINTN)pFADT->FirmwareCtrl;
> FacsPtr->HardwareSignature = CRC;
> FreePool( HWChange );
> }
> diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c
> b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c
> index cde6e478c6b9..8700c44e633d 100644
> --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c
> +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c
> @@ -1,9 +1,10 @@
> /** @file
> - This file contains a structure definition for the ACPI 5.0 Firmware ACPI
> + This file contains a structure definition for the ACPI 6.3 Firmware
> + ACPI
> Control Structure (FACS). The contents of this file should only be modified
> for bug fixes, no porting is required.
>
> Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) Microsoft Corporation.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -35,9 +36,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Please
> modify all values in Facs.h only.
> //
>
> -EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = {
> - EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE,
> - sizeof (EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE),
> +EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = {
> + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE,
> + sizeof (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE),
>
> //
> // Hardware Signature will be updated at runtime @@ -48,7 +49,7 @@
> EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = {
> EFI_ACPI_GLOBAL_LOCK,
> EFI_ACPI_FIRMWARE_CONTROL_STRUCTURE_FLAGS,
> EFI_ACPI_X_FIRMWARE_WAKING_VECTOR,
> - EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION,
> + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION,
> {
> EFI_ACPI_RESERVED_BYTE,
> EFI_ACPI_RESERVED_BYTE,
> diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c
> b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c
> index 6efb38cda40d..38e767856de7 100644
> --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c
> +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c
> @@ -1,9 +1,10 @@
> /** @file
> - This file contains a structure definition for the ACPI 5.0 Fixed ACPI
> + This file contains a structure definition for the ACPI 6.3 Fixed ACPI
> Description Table (FADT). The contents of this file should only be modified
> for bug fixes, no porting is required.
>
> Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) Microsoft Corporation.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -47,6 +48,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>
> #define EFI_ACPI_IAPC_BOOT_ARCH 0 // To be fixed
>
> +//
> +// ARM Boot Architecture Flags
> +//
> +
> +#define EFI_ACPI_ARM_BOOT_ARCH 0 // To be fixed
> +
> //
> // Fixed Feature Flags
> //
> @@ -55,7 +62,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // //
> PM1A Event Register Block Generic Address Information // -#define
> EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH 0x20
> #define EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM1A_EVT_BLK_ADDRESS 0 // To be fixed
> @@ -63,7 +70,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // //
> PM1B Event Register Block Generic Address Information // -#define
> EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH 0x00
> #define EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM1B_EVT_BLK_ADDRESS 0 // To be fixed
> @@ -71,7 +78,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // //
> PM1A Control Register Block Generic Address Information // -#define
> EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH 0x10
> #define EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM1A_CNT_BLK_ADDRESS 0 // To be fixed
> @@ -79,7 +86,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // //
> PM1B Control Register Block Generic Address Information // -#define
> EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH 0x00
> #define EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM1B_CNT_BLK_ADDRESS 0 // To be fixed
> @@ -87,7 +94,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // //
> PM2 Control Register Block Generic Address Information // -#define
> EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH 0x08
> #define EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM2_CNT_BLK_ADDRESS 0 // To be fixed
> @@ -96,7 +103,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> Power Management Timer Control Register Block Generic Address //
> Information // -#define EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_PM_TMR_BLK_BIT_WIDTH 0x20
> #define EFI_ACPI_PM_TMR_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_PM_TMR_BLK_ADDRESS 0 // To be fixed
> @@ -105,7 +112,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> General Purpose Event 0 Register Block Generic Address // Information // -
> #define EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_GPE0_BLK_BIT_WIDTH 0 // size of
> R_PCH_ACPI_GPE0_STS_127_96 + R_PCH_ACPI_GPE0_EN_127_96
> #define EFI_ACPI_GPE0_BLK_BIT_OFFSET 0x00
> #define EFI_ACPI_GPE0_BLK_ADDRESS 0 // To be fixed
> @@ -114,14 +121,14 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> General Purpose Event 1 Register Block Generic Address // Information // -
> #define EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_GPE1_BLK_BIT_WIDTH 0x0
> #define EFI_ACPI_GPE1_BLK_BIT_OFFSET 0x0
> #define EFI_ACPI_GPE1_BLK_ADDRESS 0 // To be fixed
> //
> // Reset Register Generic Address Information // -#define
> EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO
> +#define EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID
> EFI_ACPI_6_3_SYSTEM_IO
> #define EFI_ACPI_RESET_REG_BIT_WIDTH 0x08
> #define EFI_ACPI_RESET_REG_BIT_OFFSET 0x00
> #define EFI_ACPI_RESET_REG_ADDRESS 0x00000CF9
> @@ -162,11 +169,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> Please modify all values in Fadt.h only.
> //
>
> -EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
> +EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
> {
> - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
> - sizeof (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE),
> - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
> + sizeof (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE),
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
>
> //
> // Checksum will be updated at runtime @@ -187,9 +194,9 @@
> EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
> //
> // These addresses will be updated at runtime
> //
> - 0x00000000,
> 0x00000000,
> -
> + 0x00000000,
> +
> EFI_ACPI_RESERVED_BYTE,
> EFI_ACPI_PREFERRED_PM_PROFILE,
> EFI_ACPI_SCI_INT,
> @@ -198,7 +205,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_ACPI_DISABLE,
> EFI_ACPI_S4_BIOS_REQ,
> EFI_ACPI_PSTATE_CNT,
> -
> +
> EFI_ACPI_PM1A_EVT_BLK_ADDRESS,
> EFI_ACPI_PM1B_EVT_BLK_ADDRESS,
> EFI_ACPI_PM1A_CNT_BLK_ADDRESS,
> @@ -240,15 +247,13 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID,
> EFI_ACPI_RESET_REG_BIT_WIDTH,
> EFI_ACPI_RESET_REG_BIT_OFFSET,
> - EFI_ACPI_5_0_BYTE,
> + EFI_ACPI_6_3_BYTE,
> EFI_ACPI_RESET_REG_ADDRESS
> },
> EFI_ACPI_RESET_VALUE,
> - {
> - EFI_ACPI_RESERVED_BYTE,
> - EFI_ACPI_RESERVED_BYTE,
> - EFI_ACPI_RESERVED_BYTE
> - },
> +
> + EFI_ACPI_ARM_BOOT_ARCH,
> + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,
>
> //
> // These addresses will be updated at runtime @@ -263,7 +268,7 @@
> EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
> EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH,
> EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_WORD,
> + EFI_ACPI_6_3_WORD,
> EFI_ACPI_PM1A_EVT_BLK_ADDRESS
> },
> {
> @@ -273,7 +278,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH,
> EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_WORD,
> + EFI_ACPI_6_3_WORD,
> EFI_ACPI_PM1B_EVT_BLK_ADDRESS
> },
> {
> @@ -283,7 +288,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH,
> EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_WORD,
> + EFI_ACPI_6_3_WORD,
> EFI_ACPI_PM1A_CNT_BLK_ADDRESS
> },
> {
> @@ -293,7 +298,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH,
> EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_WORD,
> + EFI_ACPI_6_3_WORD,
> EFI_ACPI_PM1B_CNT_BLK_ADDRESS
> },
> {
> @@ -303,7 +308,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH,
> EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_BYTE,
> + EFI_ACPI_6_3_BYTE,
> EFI_ACPI_PM2_CNT_BLK_ADDRESS
> },
> {
> @@ -313,7 +318,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_PM_TMR_BLK_BIT_WIDTH,
> EFI_ACPI_PM_TMR_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_DWORD,
> + EFI_ACPI_6_3_DWORD,
> EFI_ACPI_PM_TMR_BLK_ADDRESS
> },
> {
> @@ -323,7 +328,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_GPE0_BLK_BIT_WIDTH,
> EFI_ACPI_GPE0_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_BYTE,
> + EFI_ACPI_6_3_BYTE,
> EFI_ACPI_GPE0_BLK_ADDRESS
> },
> {
> @@ -333,7 +338,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID,
> EFI_ACPI_GPE1_BLK_BIT_WIDTH,
> EFI_ACPI_GPE1_BLK_BIT_OFFSET,
> - EFI_ACPI_5_0_BYTE,
> + EFI_ACPI_6_3_BYTE,
> EFI_ACPI_GPE1_BLK_ADDRESS
> },
> {
> @@ -355,5 +360,10 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE
> Fadt = {
> 0,
> 0,
> 0
> - }
> + },
> +
> + //
> + // Hypervisor Vendor Identity
> + //
> + 0x0000000000000000,
> };
> --
> 2.28.0.windows.1
next prev parent reply other threads:[~2021-08-09 20:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-06 19:53 [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: Update structures for ACPI 6.3 Michael Kubacki
2021-08-09 20:00 ` Nate DeSimone [this message]
2021-09-15 2:08 ` Nate DeSimone
2021-09-15 15:19 ` Michael Kubacki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MWHPR1101MB2160D6BA05BF626DECF457C8CDF69@MWHPR1101MB2160.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox