From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web09.334.1632507790625624681 for ; Fri, 24 Sep 2021 11:23:10 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=aw77y8PP; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from localhost.localdomain (c-73-27-179-174.hsd1.fl.comcast.net [73.27.179.174]) by linux.microsoft.com (Postfix) with ESMTPSA id C605720A6168; Fri, 24 Sep 2021 11:23:08 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com C605720A6168 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1632507789; bh=UAWhm4hhJ20kkL4ZQWas2qhzcCz7cVrCDEr4v84njk4=; h=From:To:Cc:Subject:Date:From; b=aw77y8PPeuc+uMfvV2bvMs0XjKQ8Z21MBcoGh/4SZ6AUjoXobLJDvyusF9mIp4sov dNgzXLBQST/7snefqO5X6k0fDXqhTR8+qjC07qRSpX5I2s6jIPNlM+0u7I5fsz0gxZ nL9nJxf1oRUWyHhQVuXkqRJne+pAlVVTRozHkDd0= From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Chasel Chiu , Nate DeSimone , Liming Gao , Eric Dong , Daniel Maddy , Michael Kubacki Subject: [edk2-platforms][PATCH v2 1/1] MinPlatformPkg/AcpiTables: Update structures for ACPI 6.3 Date: Fri, 24 Sep 2021 14:22:44 -0400 Message-Id: <20210924182244.2295-1-mikuback@linux.microsoft.com> X-Mailer: git-send-email 2.28.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Daniel Maddy REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3535 Updates ACPI table structures in MinPlatformPkg for ACPI 6.3. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Liming Gao Cc: Eric Dong Cc: Daniel Maddy Co-authored-by: Michael Kubacki Signed-off-by: Michael Kubacki Reviewed-by: Nate DeSimone --- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 181 +++++= +++++---------- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c | 11 +- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c | 74 ++++-= --- 3 files changed, 138 insertions(+), 128 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c= b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c index 843ba832ce67..f5c4f2c3f1a9 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c @@ -2,6 +2,7 @@ ACPI Platform Driver =20 Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -11,7 +12,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #pragma pack(1) =20 typedef struct { - UINT32 AcpiProcessorId; + UINT32 AcpiProcessorUid; UINT32 ApicId; UINT32 Flags; UINT32 SocketNum; @@ -25,9 +26,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; @@ -36,9 +37,9 @@ typedef union { =20 #pragma pack() =20 -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; =20 VOID *mLocalTable[] =3D { @@ -103,7 +104,7 @@ DebugDisplayReOrderTable ( for (Index =3D 0; Index < mNumberOfCpus; Index++) { DEBUG ((DEBUG_INFO, " %02d 0x%02X 0x%02X %d %d= %d\n", Index, - CpuApicIdOrderTable[Index].AcpiProcessorId, + CpuApicIdOrderTable[Index].AcpiProcessorUid, CpuApicIdOrderTable[Index].ApicId, CpuApicIdOrderTable[Index].Thread, CpuApicIdOrderTable[Index].Flags, @@ -118,31 +119,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; =20 Status =3D EFI_SUCCESS; Type =3D ((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiApicCommon.Type; - LocalApicPtr =3D (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE *)(&((AC= PI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic); - LocalX2ApicPtr =3D (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE *)(&= ((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic); + LocalApicPtr =3D (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE *)(&((AC= PI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic); + LocalX2ApicPtr =3D (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE *)(&= ((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic); =20 - if(Type =3D=3D EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC) { + if(Type =3D=3D EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC) { if(!mX2ApicEnabled) { - LocalApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[Loca= lApicCounter].Flags; - LocalApicPtr->ApicId =3D (UINT8)mCpuApicIdOrderTable[Loca= lApicCounter].ApicId; - LocalApicPtr->AcpiProcessorId =3D (UINT8)mCpuApicIdOrderTable[Loca= lApicCounter].AcpiProcessorId; + LocalApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[Loc= alApicCounter].Flags; + LocalApicPtr->ApicId =3D (UINT8)mCpuApicIdOrderTable[Loc= alApicCounter].ApicId; + LocalApicPtr->AcpiProcessorUid =3D (UINT8)mCpuApicIdOrderTable[Loc= alApicCounter].AcpiProcessorUid; } else { - LocalApicPtr->Flags =3D 0; - LocalApicPtr->ApicId =3D 0xFF; - LocalApicPtr->AcpiProcessorId =3D (UINT8)0xFF; + LocalApicPtr->Flags =3D 0; + LocalApicPtr->ApicId =3D 0xFF; + LocalApicPtr->AcpiProcessorUid =3D (UINT8)0xFF; Status =3D EFI_UNSUPPORTED; } - } else if(Type =3D=3D EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC) { + } else if(Type =3D=3D EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC) { if(mX2ApicEnabled) { LocalX2ApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[L= ocalApicCounter].Flags; LocalX2ApicPtr->X2ApicId =3D mCpuApicIdOrderTable[LocalApi= cCounter].ApicId; - LocalX2ApicPtr->AcpiProcessorUid =3D mCpuApicIdOrderTable[LocalApi= cCounter].AcpiProcessorId; + LocalX2ApicPtr->AcpiProcessorUid =3D mCpuApicIdOrderTable[LocalApi= cCounter].AcpiProcessorUid; } else { LocalX2ApicPtr->Flags =3D 0; LocalX2ApicPtr->X2ApicId =3D (UINT32)-1; @@ -201,15 +202,15 @@ SortCpuLocalApicInTable ( //update processorbitMask if (CpuIdMapPtr->Flags =3D=3D 1) { if (mForceX2ApicId) { - CpuIdMapPtr->SocketNum &=3D 0x7; - CpuIdMapPtr->AcpiProcessorId &=3D 0xFF; //keep lower 8bit due = to use Proc obj in dsdt + CpuIdMapPtr->SocketNum &=3D 0x7; + CpuIdMapPtr->AcpiProcessorUid &=3D 0xFF; //keep lower 8bit due= to use Proc obj in dsdt } } } else { //not enabled - CpuIdMapPtr->ApicId =3D (UINT32)-1; - CpuIdMapPtr->Thread =3D (UINT32)-1; - CpuIdMapPtr->Flags =3D 0; - CpuIdMapPtr->SocketNum =3D (UINT32)-1; + CpuIdMapPtr->ApicId =3D (UINT32)-1; + CpuIdMapPtr->Thread =3D (UINT32)-1; + CpuIdMapPtr->Flags =3D 0; + CpuIdMapPtr->SocketNum =3D (UINT32)-1; } //end if PROC ENABLE } //end for CurrentProcessor =20 @@ -280,12 +281,12 @@ SortCpuLocalApicInTable ( } =20 // - // 5. Re-assigen AcpiProcessorId for AcpiProcessorUId uses purpose. + // 5. Re-assign AcpiProcessorId for AcpiProcessorUid uses purpose. // for (Socket =3D 0; Socket < FixedPcdGet32 (PcdMaxCpuSocketCount); Sock= et++) { for (CurrProcessor =3D 0, Index =3D 0; CurrProcessor < mNumberOfCpus= ; CurrProcessor++) { if (mCpuApicIdOrderTable[CurrProcessor].Flags && (mCpuApicIdOrderT= able[CurrProcessor].SocketNum =3D=3D Socket)) { - mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorId =3D (Process= orInfoBuffer.Location.Package << mNumOfBitShift) + Index; + mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorUid =3D (Proces= sorInfoBuffer.Location.Package << mNumOfBitShift) + Index; Index++; } } @@ -312,17 +313,17 @@ typedef struct { } STRUCTURE_HEADER; =20 STRUCTURE_HEADER mMadtStructureTable[] =3D { - {EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC, sizeof (EFI_ACPI_4_0_PROC= ESSOR_LOCAL_APIC_STRUCTURE)}, - {EFI_ACPI_4_0_IO_APIC, sizeof (EFI_ACPI_4_0_IO_A= PIC_STRUCTURE)}, - {EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE, sizeof (EFI_ACPI_4_0_INTE= RRUPT_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_LOCA= L_APIC_NMI_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof (EFI_ACPI_4_0_LOCA= L_APIC_ADDRESS_OVERRIDE_STRUCTURE)}, - {EFI_ACPI_4_0_IO_SAPIC, sizeof (EFI_ACPI_4_0_IO_S= APIC_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_SAPIC, sizeof (EFI_ACPI_4_0_PROC= ESSOR_LOCAL_SAPIC_STRUCTURE)}, - {EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES, sizeof (EFI_ACPI_4_0_PLAT= FORM_INTERRUPT_SOURCES_STRUCTURE)}, - {EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC, sizeof (EFI_ACPI_4_0_PROC= ESSOR_LOCAL_X2APIC_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_X2APIC_NMI, sizeof (EFI_ACPI_4_0_LOCA= L_X2APIC_NMI_STRUCTURE)} + {EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC, sizeof (EFI_ACPI_6_3_PROC= ESSOR_LOCAL_APIC_STRUCTURE)}, + {EFI_ACPI_6_3_IO_APIC, sizeof (EFI_ACPI_6_3_IO_A= PIC_STRUCTURE)}, + {EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE, sizeof (EFI_ACPI_6_3_INTE= RRUPT_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_LOCA= L_APIC_NMI_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof (EFI_ACPI_6_3_LOCA= L_APIC_ADDRESS_OVERRIDE_STRUCTURE)}, + {EFI_ACPI_6_3_IO_SAPIC, sizeof (EFI_ACPI_6_3_IO_S= APIC_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_SAPIC, sizeof (EFI_ACPI_6_3_PROC= ESSOR_LOCAL_SAPIC_STRUCTURE)}, + {EFI_ACPI_6_3_PLATFORM_INTERRUPT_SOURCES, sizeof (EFI_ACPI_6_3_PLAT= FORM_INTERRUPT_SOURCES_STRUCTURE)}, + {EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC, sizeof (EFI_ACPI_6_3_PROC= ESSOR_LOCAL_X2APIC_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_X2APIC_NMI, sizeof (EFI_ACPI_6_3_LOCA= L_X2APIC_NMI_STRUCTURE)} }; =20 /** @@ -481,7 +482,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; @@ -493,8 +494,8 @@ InitializeMadtHeader ( =20 Status =3D 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)) { @@ -502,7 +503,7 @@ InitializeMadtHeader ( } =20 MadtHeader->LocalApicAddress =3D PcdGet32(PcdLocalApicAddress); - MadtHeader->Flags =3D EFI_ACPI_4_0_PCAT_COMPAT; + MadtHeader->Flags =3D EFI_ACPI_6_3_PCAT_COMPAT; =20 return EFI_SUCCESS; } @@ -539,7 +540,7 @@ CopyStructure ( // // Initialize the number of table entries and the table based on the t= able header passed in. // - if (Header->Signature =3D=3D EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TA= BLE_SIGNATURE) { + if (Header->Signature =3D=3D EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TA= BLE_SIGNATURE) { TableNumEntries =3D sizeof (mMadtStructureTable) / sizeof (STRUCTURE= _HEADER); StructureTable =3D mMadtStructureTable; } else { @@ -649,7 +650,7 @@ BuildAcpiTable ( return EFI_INVALID_PARAMETER; } =20 - if (AcpiHeader->Signature !=3D EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_= TABLE_SIGNATURE) { + if (AcpiHeader->Signature !=3D EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_= TABLE_SIGNATURE) { DEBUG (( DEBUG_ERROR, "MADT header signature is expected, actually 0x%08x\n", @@ -740,15 +741,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 ProcLocalApicStruc= t; - EFI_ACPI_4_0_IO_APIC_STRUCTURE IoApicStruct; - EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE IntSrcOverrideStru= ct; - EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct= ; - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE ProcLocalX2ApicStr= uct; - EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE LocalX2ApicNmiStru= ct; + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER MadtTableHeader; + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE ProcLocalApicStruc= t; + EFI_ACPI_6_3_IO_APIC_STRUCTURE IoApicStruct; + EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE IntSrcOverrideStru= ct; + EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct= ; + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE ProcLocalX2ApicStr= uct; + EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE LocalX2ApicNmiStru= ct; STRUCTURE_HEADER **MadtStructs; UINTN MaxMadtStructCount= ; UINTN MadtStructsIndex; @@ -809,11 +810,11 @@ InstallMadtFromScratch ( // // Build Processor Local APIC Structures and Processor Local X2APIC St= ructures // - ProcLocalApicStruct.Type =3D EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC; - ProcLocalApicStruct.Length =3D sizeof (EFI_ACPI_4_0_PROCESSOR_LOCAL_AP= IC_STRUCTURE); + ProcLocalApicStruct.Type =3D EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC; + ProcLocalApicStruct.Length =3D sizeof (EFI_ACPI_6_3_PROCESSOR_LOCAL_AP= IC_STRUCTURE); =20 - ProcLocalX2ApicStruct.Type =3D EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC; - ProcLocalX2ApicStruct.Length =3D sizeof (EFI_ACPI_4_0_PROCESSOR_LOCAL_= X2APIC_STRUCTURE); + ProcLocalX2ApicStruct.Type =3D EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC; + ProcLocalX2ApicStruct.Length =3D sizeof (EFI_ACPI_6_3_PROCESSOR_LOCAL_= X2APIC_STRUCTURE); ProcLocalX2ApicStruct.Reserved[0] =3D 0; ProcLocalX2ApicStruct.Reserved[1] =3D 0; =20 @@ -824,9 +825,9 @@ InstallMadtFromScratch ( // use a processor local x2APIC structure. // if (!mX2ApicEnabled && mCpuApicIdOrderTable[Index].ApicId < MAX_UINT= 8) { - ProcLocalApicStruct.Flags =3D (UINT8) mCpuApicIdOrderTab= le[Index].Flags; - ProcLocalApicStruct.ApicId =3D (UINT8) mCpuApicIdOrderTab= le[Index].ApicId; - ProcLocalApicStruct.AcpiProcessorId =3D (UINT8) mCpuApicIdOrderTab= le[Index].AcpiProcessorId; + ProcLocalApicStruct.Flags =3D (UINT8) mCpuApicIdOrderTa= ble[Index].Flags; + ProcLocalApicStruct.ApicId =3D (UINT8) mCpuApicIdOrderTa= ble[Index].ApicId; + ProcLocalApicStruct.AcpiProcessorUid =3D (UINT8) mCpuApicIdOrderTa= ble[Index].AcpiProcessorUid; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -837,7 +838,7 @@ InstallMadtFromScratch ( } else if (mCpuApicIdOrderTable[Index].ApicId !=3D 0xFFFFFFFF) { ProcLocalX2ApicStruct.Flags =3D (UINT8) mCpuApicIdOrder= Table[Index].Flags; ProcLocalX2ApicStruct.X2ApicId =3D mCpuApicIdOrderTable[In= dex].ApicId; - ProcLocalX2ApicStruct.AcpiProcessorUid =3D mCpuApicIdOrderTable[In= dex].AcpiProcessorId; + ProcLocalX2ApicStruct.AcpiProcessorUid =3D mCpuApicIdOrderTable[In= dex].AcpiProcessorUid; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -855,8 +856,8 @@ InstallMadtFromScratch ( // // Build I/O APIC Structures // - IoApicStruct.Type =3D EFI_ACPI_4_0_IO_APIC; - IoApicStruct.Length =3D sizeof (EFI_ACPI_4_0_IO_APIC_STRUCTURE); + IoApicStruct.Type =3D EFI_ACPI_6_3_IO_APIC; + IoApicStruct.Length =3D sizeof (EFI_ACPI_6_3_IO_APIC_STRUCTURE); IoApicStruct.Reserved =3D 0; =20 PcIoApicEnable =3D PcdGet32 (PcdPcIoApicEnable); @@ -902,8 +903,8 @@ InstallMadtFromScratch ( // // Build Interrupt Source Override Structures // - IntSrcOverrideStruct.Type =3D EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE; - IntSrcOverrideStruct.Length =3D sizeof (EFI_ACPI_4_0_INTERRUPT_SOURCE_= OVERRIDE_STRUCTURE); + IntSrcOverrideStruct.Type =3D EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE; + IntSrcOverrideStruct.Length =3D sizeof (EFI_ACPI_6_3_INTERRUPT_SOURCE_= OVERRIDE_STRUCTURE); =20 // // IRQ0=3D>IRQ2 Interrupt Source Override Structure @@ -946,11 +947,11 @@ InstallMadtFromScratch ( // // Build Local APIC NMI Structures // - LocalApciNmiStruct.Type =3D EFI_ACPI_4_0_LOCAL_APIC_NMI; - LocalApciNmiStruct.Length =3D sizeof (EFI_ACPI_4_0_LOCAL_APIC_NMI_STRU= CTURE); - LocalApciNmiStruct.AcpiProcessorId =3D 0xFF; // Applies to all pr= ocessors - LocalApciNmiStruct.Flags =3D 0x0005; // Flags - Edge-tigg= ered, Active High - LocalApciNmiStruct.LocalApicLint =3D 0x1; + LocalApciNmiStruct.Type =3D EFI_ACPI_6_3_LOCAL_APIC_NMI; + LocalApciNmiStruct.Length =3D sizeof (EFI_ACPI_6_3_LOCAL_APIC_NMI_STRU= CTURE); + LocalApciNmiStruct.AcpiProcessorUid =3D 0xFF; // Applies to all p= rocessors + LocalApciNmiStruct.Flags =3D 0x0005; // Flags - Edge-tig= gered, Active High + LocalApciNmiStruct.LocalApicLint =3D 0x1; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -967,8 +968,8 @@ InstallMadtFromScratch ( // Build Local x2APIC NMI Structure // if (mX2ApicEnabled) { - LocalX2ApicNmiStruct.Type =3D EFI_ACPI_4_0_LOCAL_X2APIC_NMI; - LocalX2ApicNmiStruct.Length =3D sizeof (EFI_ACPI_4_0_LOCAL_X2APIC_NM= I_STRUCTURE); + LocalX2ApicNmiStruct.Type =3D EFI_ACPI_6_3_LOCAL_X2APIC_NMI; + LocalX2ApicNmiStruct.Length =3D sizeof (EFI_ACPI_6_3_LOCAL_X2APIC_NM= I_STRUCTURE); LocalX2ApicNmiStruct.Flags =3D 0x000D; // Flags - Le= vel-tiggered, Active High LocalX2ApicNmiStruct.AcpiProcessorUid =3D 0xFFFFFFFF; // Applies to= all processors LocalX2ApicNmiStruct.LocalX2ApicLint =3D 0x01; @@ -992,12 +993,12 @@ InstallMadtFromScratch ( // Build Madt Structure from the Madt Header and collection of pointer= s in MadtStructs[] // Status =3D BuildAcpiTable ( - (EFI_ACPI_DESCRIPTION_HEADER *) &MadtTableHeader, - sizeof (EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER= ), - MadtStructs, - MadtStructsIndex, - (UINT8 **) &NewMadtTable - ); + (EFI_ACPI_DESCRIPTION_HEADER *) &MadtTableHeader, + sizeof (EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER)= , + MadtStructs, + MadtStructsIndex, + (UINT8 **)&NewMadtTable + ); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "BuildAcpiTable failed: %r\n", Status)); goto Done; @@ -1087,7 +1088,7 @@ InstallMcfgFromScratch ( } =20 // - // Publish Madt Structure to ACPI + // Publish Mcfg Structure to ACPI // Status =3D mAcpiTable->InstallAcpiTable ( mAcpiTable, @@ -1120,7 +1121,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; @@ -1177,12 +1178,12 @@ PlatformUpdateTables ( // switch (Table->Signature) { =20 - case EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE: - ASSERT (FALSE); + case EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE: + ASSERT(FALSE); break; =20 - case EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE: - FadtHeader =3D (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE *) Tabl= e; + case EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE: + FadtHeader =3D (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *) Table; =20 FadtHeader->PreferredPmProfile =3D PcdGet8 (PcdFadtPreferredPmProfil= e); FadtHeader->IaPcBootArch =3D PcdGet16 (PcdFadtIaPcBootArch); @@ -1228,7 +1229,7 @@ PlatformUpdateTables ( DEBUG ((DEBUG_INFO, " Flags 0x%x\n", FadtHeader->Flags)); break; =20 - case EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE: + case EFI_ACPI_6_3_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE: HpetTable =3D (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER *)Ta= ble; HpetBaseAddress =3D PcdGet32 (PcdHpetBaseAddress); HpetTable->BaseAddressLower32Bit.Address =3D HpetBaseAddress; @@ -1280,8 +1281,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; =20 HandleCount =3D 0; HandleBuffer =3D NULL; @@ -1327,7 +1328,7 @@ IsHardwareChange ( // Handle =3D 0; Status =3D 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 ); @@ -1349,7 +1350,7 @@ IsHardwareChange ( // // Set HardwareSignature value based on CRC value. // - FacsPtr =3D (EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)(UINTN)pFA= DT->FirmwareCtrl; + FacsPtr =3D (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE *)(UINTN)pFA= DT->FirmwareCtrl; FacsPtr->HardwareSignature =3D 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 AC= PI + This file contains a structure definition for the ACPI 6.3 Firmware AC= PI Control Structure (FACS). The contents of this file should only be mo= dified for bug fixes, no porting is required. =20 Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -35,9 +36,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Please modify all values in Facs.h only. // =20 -EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs =3D { - 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 =3D { + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, + sizeof (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE), =20 // // Hardware Signature will be updated at runtime @@ -48,7 +49,7 @@ EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs =3D { 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..3418e960972f 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 mo= dified for bug fixes, no porting is required. =20 Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -44,9 +45,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // IA-PC Boot Architecture Flags // - #define EFI_ACPI_IAPC_BOOT_ARCH 0 // To be fixed =20 +// +// ARM Boot Architecture Flags +// +#define EFI_ACPI_ARM_BOOT_ARCH 0 // To be fixed + // // Fixed Feature Flags // @@ -55,7 +60,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 +68,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 +76,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 +84,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 +92,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 +101,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 +110,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_GPE= 0_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 +119,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 +167,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Please modify all values in Fadt.h only. // =20 -EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { +EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { { - 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, =20 // // Checksum will be updated at runtime @@ -187,9 +192,9 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { // // These addresses will be updated at runtime // - 0x00000000,=20 0x00000000, - =20 + 0x00000000, + EFI_ACPI_RESERVED_BYTE, EFI_ACPI_PREFERRED_PM_PROFILE, EFI_ACPI_SCI_INT, @@ -198,7 +203,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_ACPI_DISABLE, EFI_ACPI_S4_BIOS_REQ, EFI_ACPI_PSTATE_CNT, - =20 + EFI_ACPI_PM1A_EVT_BLK_ADDRESS, EFI_ACPI_PM1B_EVT_BLK_ADDRESS, EFI_ACPI_PM1A_CNT_BLK_ADDRESS, @@ -240,15 +245,13 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D = { 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, =20 // // These addresses will be updated at runtime @@ -263,7 +266,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +276,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +286,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +296,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +306,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +316,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +326,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +336,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 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 +358,10 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 0, 0, 0 - } + }, + + // + // Hypervisor Vendor Identity + // + 0x0000000000000000, }; --=20 2.28.0.windows.1