public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: "Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	"Ni, Ray" <ray.ni@intel.com>
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: Wed, 15 Sep 2021 11:19:58 -0400	[thread overview]
Message-ID: <eb49cf9e-ae15-38c6-2079-2047a5b3f254@linux.microsoft.com> (raw)
In-Reply-To: <MWHPR1101MB21601259A3674C61BDA359F6CDDB9@MWHPR1101MB2160.namprd11.prod.outlook.com>

Well that's a large number of conflicts.

I find it unprofessional that I have been waiting over a month for a 
MinPlatformPkg maintainer to review and merge my patch while the patches 
that were merged and cause conflicts were not reviewed by or merged by a 
MinPlatformPkg maintainer:

https://github.com/tianocore/edk2-platforms/commit/f4e12862f7e5b190fc5cd3828999573995db2b4e

https://github.com/tianocore/edk2-platforms/commit/353f3ed966abc267c4e77b46a3b5ab82a0a86488

Delays are one thing but the process should be followed consistently.

I'll send a rebased patch soon.

Thanks,
Michael

On 9/14/2021 10:08 PM, Desimone, Nathaniel L wrote:
> Hi Michael,
> 
> I attempted to merge this patch, however the contents no longer apply. There was a refactor done to AcpiPlatform.c to eliminate the MAX_CPU_NUM macro:
> 
> https://github.com/tianocore/edk2-platforms/commit/353f3ed966abc267c4e77b46a3b5ab82a0a86488#diff-ae3eb6d7a13316e69709faeb1e624bc2f87ede0dba5148dc198d109e1190e0bb
> 
> After this refactor, there are several merge conflicts in this patch. Could you please rebase to latest master branch and re-send the patch?
> 
> Thanks,
> Nate
> 
> -----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
> 

      reply	other threads:[~2021-09-15 15:20 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
2021-09-15  2:08 ` Nate DeSimone
2021-09-15 15:19   ` Michael Kubacki [this message]

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=eb49cf9e-ae15-38c6-2079-2047a5b3f254@linux.microsoft.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