Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com> > -----Original Message----- > From: mikub...@linux.microsoft.com <mikub...@linux.microsoft.com> > Sent: Friday, August 6, 2021 12:54 PM > To: devel@edk2.groups.io > Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Dong, Eric <eric.d...@intel.com>; Maddy, > Daniel <dan...@microsoft.com>; Michael Kubacki > <michael.kuba...@microsoft.com> > Subject: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: > Update structures for ACPI 6.3 > > From: Daniel Maddy <dan...@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.c...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Daniel Maddy <dan...@microsoft.com> > Co-authored-by: Michael Kubacki <michael.kuba...@microsoft.com> > Signed-off-by: Michael Kubacki <michael.kuba...@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
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78988): https://edk2.groups.io/g/devel/message/78988 Mute This Topic: https://groups.io/mt/84716975/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-