diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2018-12-06 00:26:41 +0100 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2018-12-11 08:31:42 +0100 |
commit | 9eb3913636d5e7a78df087d5fce83825474c2d66 (patch) | |
tree | b5868d1788a11804f7414b4f56ea3c4e583a0b7a | |
parent | 217713e2cfc9ceafd0f850bc1f5b24ef2cf1615b (diff) |
Silicon/AMD/Styx: merge ACPI table drivers
ACPI table support on Seattle is split into two parts for no good
reason: AcpiPlatformDxe and AmdStyxAcpiLib. Let's merge them
together, and clean up the code that iterates over the tables and
installs them.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
19 files changed, 108 insertions, 253 deletions
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc index 05433d44..ce909982 100644 --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc @@ -121,7 +121,6 @@ DEFINE DO_CAPSULE = FALSE # Styx specific libraries
#
AmdSataInit|Silicon/AMD/Styx/AmdModulePkg/Library/AmdSataInitLib/AmdSataInitLib.inf
- AmdStyxAcpiLib|Silicon/AMD/Styx/AcpiTables/AcpiTables.inf
ResetSystemLib|ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.inf
RealTimeClockLib|Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf index 96df83e0..c7e27e20 100644 --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf @@ -454,6 +454,7 @@ CAPSULE_HEADER_INIT_VERSION = 0x1 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
RAW ASL Optional |.aml
+ RAW ACPI Optional |.acpi
}
[Rule.Common.DXE_RUNTIME_DRIVER]
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc b/Platform/LeMaker/CelloBoard/CelloBoard.dsc index 057bf0eb..29e74069 100644 --- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc +++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc @@ -118,7 +118,6 @@ DEFINE DO_FLASHER = FALSE # Styx specific libraries
#
AmdSataInit|Silicon/AMD/Styx/AmdModulePkg/Library/AmdSataInitLib/AmdSataInitLib.inf
- AmdStyxAcpiLib|Silicon/AMD/Styx/AcpiTables/AcpiTables.inf
ResetSystemLib|ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.inf
RealTimeClockLib|Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf
diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.fdf b/Platform/LeMaker/CelloBoard/CelloBoard.fdf index fc977f14..6362257d 100644 --- a/Platform/LeMaker/CelloBoard/CelloBoard.fdf +++ b/Platform/LeMaker/CelloBoard/CelloBoard.fdf @@ -365,6 +365,7 @@ READ_LOCK_STATUS = TRUE PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
RAW ASL Optional |.aml
+ RAW ACPI Optional |.acpi
}
[Rule.Common.DXE_RUNTIME_DRIVER]
diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc index 985ba225..f342cf82 100644 --- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc +++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc @@ -117,7 +117,6 @@ DEFINE DO_FLASHER = FALSE # Styx specific libraries
#
AmdSataInit|Silicon/AMD/Styx/AmdModulePkg/Library/AmdSataInitLib/AmdSataInitLib.inf
- AmdStyxAcpiLib|Silicon/AMD/Styx/AcpiTables/AcpiTables.inf
ResetSystemLib|ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.inf
RealTimeClockLib|Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf
diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.fdf b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.fdf index 8fc9a979..9ba98dd8 100644 --- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.fdf +++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.fdf @@ -367,6 +367,7 @@ READ_LOCK_STATUS = TRUE PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
RAW ASL Optional |.aml
+ RAW ACPI Optional |.acpi
}
[Rule.Common.DXE_RUNTIME_DRIVER]
diff --git a/Silicon/AMD/Styx/AcpiTables/AcpiTables.inf b/Silicon/AMD/Styx/AcpiTables/AcpiTables.inf deleted file mode 100644 index 0bc5b1e9..00000000 --- a/Silicon/AMD/Styx/AcpiTables/AcpiTables.inf +++ /dev/null @@ -1,85 +0,0 @@ -#/** @file
-# Sample ACPI Platform Driver
-#
-# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
-# Copyright (c) 2014 - 2016, AMD Inc. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-#/**
-#
-# Derived from:
-# MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
-#
-#**/
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = AmdStyxAcpiLib
- FILE_GUID = 74850e9e-371c-43af-b1fe-794d61505ad0
- MODULE_TYPE = BASE
- VERSION_STRING = 1.0
- LIBRARY_CLASS = AmdStyxAcpiLib
-
-[Sources]
- Gtdt.c
- Fadt.c
- Dbg2.c
- Spcr.c
- Madt.c
- Mcfg.c
- Csrt.c
- Iort.c
- Pptt.c
-
-[Packages]
- ArmPkg/ArmPkg.dec
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
- Silicon/AMD/Styx/AmdModulePkg/AmdModulePkg.dec
- Silicon/AMD/Styx/AmdStyx.dec
-
-[LibraryClasses]
- PcdLib
- DebugLib
- UefiBootServicesTableLib
-
-[Protocols]
- gAmdMpCoreInfoProtocolGuid ## CONSUMED
-
-[Pcd]
- gAmdStyxTokenSpaceGuid.PcdSocCoreCount
- gAmdStyxTokenSpaceGuid.PcdSocCpuId
-
-[FixedPcd]
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
- gArmTokenSpaceGuid.PcdGicDistributorBase
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
- gAmdStyxTokenSpaceGuid.PcdSerialDbgRegisterBase
- gAmdStyxTokenSpaceGuid.PcdGicVersion
- gAmdStyxTokenSpaceGuid.PcdGicHypervisorInterruptInterfaceBase
- gAmdStyxTokenSpaceGuid.PcdGicVirtualInterruptInterfaceBase
- gAmdStyxTokenSpaceGuid.PcdGicVirtualMaintenanceInterrupt
- gAmdStyxTokenSpaceGuid.PcdGicVirtualRegisterInterfaceBase
- gAmdStyxTokenSpaceGuid.PcdGicMSIFrameBase
- gAmdStyxTokenSpaceGuid.PcdCntControlBase
- gAmdStyxTokenSpaceGuid.PcdCntReadBase
- gAmdStyxTokenSpaceGuid.PcdCntCTLBase
- gAmdStyxTokenSpaceGuid.PcdCntBase0
- gAmdStyxTokenSpaceGuid.PcdCntEL0Base0
- gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogRefreshBase
- gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogControlBase
- gAmdStyxTokenSpaceGuid.PcdSbsaWakeUpGSIV
- gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogGSIV
- gAmdStyxTokenSpaceGuid.PcdSocCoresPerCluster
- gAmdStyxTokenSpaceGuid.PcdSata1PortCount
-
-[Depex]
- gAmdMpCoreInfoProtocolGuid
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c index a00bd3bd..ff132698 100644 --- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.c @@ -19,7 +19,6 @@ MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatform.c
**/
-#include <AmdStyxAcpiLib.h>
#include <Protocol/AcpiTable.h>
#include <Library/BaseLib.h>
@@ -31,12 +30,11 @@ #include <Library/UefiBootServicesTableLib.h>
#include <IndustryStandard/Acpi61.h>
+#include <IndustryStandard/IoRemappingTable.h>
#include <SocVersion.h>
-#define MAX_ACPI_TABLES 16
-
-EFI_ACPI_DESCRIPTION_HEADER *AcpiTableList[MAX_ACPI_TABLES];
+#include "AcpiPlatform.h"
STATIC EFI_ACPI_TABLE_PROTOCOL *mAcpiTableProtocol;
@@ -97,16 +95,20 @@ InstallSystemDescriptionTables ( VOID
)
{
- EFI_ACPI_DESCRIPTION_HEADER *Table;
- EFI_STATUS Status;
- UINT32 CpuId;
- UINTN Index;
- UINTN TableSize;
- UINTN TableHandle;
+ EFI_ACPI_DESCRIPTION_HEADER *Table;
+ EFI_STATUS Status;
+ UINT32 CpuId;
+ UINTN Index;
+ UINTN TableSize;
+ UINTN TableHandle;
+ EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE *Gtdt;
+ EFI_ACPI_6_0_IO_REMAPPING_TABLE *Iort;
#if DO_XGBE
UINT8 MacPackage[sizeof(mDefaultMacPackageA)];
#endif
+ CpuId = PcdGet32 (PcdSocCpuId);
+
Status = EFI_SUCCESS;
for (Index = 0; !EFI_ERROR (Status); Index++) {
Status = GetSectionFromFv (&gEfiCallerIdGuid, EFI_SECTION_RAW, Index,
@@ -117,7 +119,6 @@ InstallSystemDescriptionTables ( switch (Table->OemTableId) {
case SIGNATURE_64 ('S', 't', 'y', 'x', 'B', '1', ' ', ' '):
- CpuId = PcdGet32 (PcdSocCpuId);
if ((CpuId & STYX_SOC_VERSION_MASK) < STYX_SOC_VERSION_B1) {
continue;
}
@@ -141,11 +142,39 @@ InstallSystemDescriptionTables ( break;
#endif
continue;
+
+ default:
+ switch (Table->Signature) {
+ case EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE:
+ if (!PcdGetBool (PcdEnableSmmus)) {
+ continue;
+ }
+ if ((CpuId & STYX_SOC_VERSION_MASK) < STYX_SOC_VERSION_B1) {
+ Iort = (EFI_ACPI_6_0_IO_REMAPPING_TABLE *)Table;
+ Iort->NumNodes -= 2;
+ }
+ break;
+
+ case EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE:
+ if ((CpuId & STYX_SOC_VERSION_MASK) < STYX_SOC_VERSION_B1) {
+ Gtdt = (EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE *)Table;
+ Gtdt->Header.Length = sizeof (*Gtdt);
+ Gtdt->PlatformTimerCount = 0;
+ Gtdt->PlatformTimerOffset = 0;
+ }
+ break;
+ }
}
Status = mAcpiTableProtocol->InstallAcpiTable (mAcpiTableProtocol, Table,
- TableSize, &TableHandle);
- ASSERT_EFI_ERROR (Status);
+ Table->Length, &TableHandle);
+
+ DEBUG ((DEBUG_WARN,
+ "Installing %c%c%c%c Table (Revision %d, Length %d) ... %r\n",
+ ((UINT8 *)&Table->Signature)[0], ((UINT8 *)&Table->Signature)[1],
+ ((UINT8 *)&Table->Signature)[2], ((UINT8 *)&Table->Signature)[3],
+ Table->Revision, Table->Length, Status));
+
FreePool (Table);
}
}
@@ -168,67 +197,23 @@ AcpiPlatformEntryPoint ( IN EFI_SYSTEM_TABLE *SystemTable
)
{
- EFI_STATUS Status;
- UINTN TableHandle;
- UINTN TableIndex;
-
- ZeroMem(AcpiTableList, sizeof(AcpiTableList));
-
- TableIndex = 0;
- AcpiTableList[TableIndex++] = FadtTable();
- AcpiTableList[TableIndex++] = MadtHeader();
- AcpiTableList[TableIndex++] = GtdtHeader();
- AcpiTableList[TableIndex++] = Dbg2Header();
- AcpiTableList[TableIndex++] = SpcrHeader();
- AcpiTableList[TableIndex++] = McfgHeader();
- AcpiTableList[TableIndex++] = CsrtHeader();
- if (PcdGetBool (PcdEnableSmmus)) {
- AcpiTableList[TableIndex++] = IortHeader();
- }
- AcpiTableList[TableIndex++] = PpttHeader();
- AcpiTableList[TableIndex++] = NULL;
-
- DEBUG((DEBUG_INFO, "%a(): ACPI Table installer\n", __FUNCTION__));
+ EFI_STATUS Status;
+ UINTN TableHandle;
+ EFI_ACPI_DESCRIPTION_HEADER *Header;
//
// Find the AcpiTable protocol
//
Status = gBS->LocateProtocol (&gEfiAcpiTableProtocolGuid, NULL,
(VOID**)&mAcpiTableProtocol);
- if (EFI_ERROR (Status)) {
- DEBUG((EFI_D_ERROR, "Failed to locate AcpiTable protocol. Status = %r\n", Status));
- ASSERT_EFI_ERROR(Status);
- }
+ ASSERT_EFI_ERROR (Status);
- TableIndex = 0;
- while (AcpiTableList[TableIndex] != NULL) {
- //
- // Install ACPI table
- //
- DEBUG ((EFI_D_ERROR, "Installing %c%c%c%c Table (Revision %d, Length %d) ...\n",
- *((UINT8*)&AcpiTableList[TableIndex]->Signature),
- *((UINT8*)&AcpiTableList[TableIndex]->Signature + 1),
- *((UINT8*)&AcpiTableList[TableIndex]->Signature + 2),
- *((UINT8*)&AcpiTableList[TableIndex]->Signature + 3),
- AcpiTableList[TableIndex]->Revision,
- AcpiTableList[TableIndex]->Length));
-
- Status = mAcpiTableProtocol->InstallAcpiTable (
- mAcpiTableProtocol,
- AcpiTableList[TableIndex],
- (AcpiTableList[TableIndex])->Length,
- &TableHandle
- );
- if (EFI_ERROR (Status)) {
- DEBUG((DEBUG_ERROR,"Error adding ACPI Table. Status = %r\n", Status));
- ASSERT_EFI_ERROR(Status);
- }
- TableIndex++;
- ASSERT( TableIndex < MAX_ACPI_TABLES );
- }
+ Header = MadtHeader ();
+ Status = mAcpiTableProtocol->InstallAcpiTable (mAcpiTableProtocol, Header,
+ Header->Length, &TableHandle);
+ ASSERT_EFI_ERROR (Status);
InstallSystemDescriptionTables ();
- return EFI_SUCCESS;
+ return EFI_REQUEST_UNLOAD_IMAGE;
}
-
diff --git a/Silicon/AMD/Styx/Common/AmdStyxAcpiLib.h b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.h index 0dfd7635..b1864131 100644 --- a/Silicon/AMD/Styx/Common/AmdStyxAcpiLib.h +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatform.h @@ -18,16 +18,7 @@ #include <IndustryStandard/Acpi.h>
-EFI_ACPI_DESCRIPTION_HEADER *FadtTable (void);
-EFI_ACPI_DESCRIPTION_HEADER *FacsTable (void);
EFI_ACPI_DESCRIPTION_HEADER *MadtHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *GtdtHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *McfgHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *Dbg2Header (void);
-EFI_ACPI_DESCRIPTION_HEADER *SpcrHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *CsrtHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *IortHeader (void);
-EFI_ACPI_DESCRIPTION_HEADER *PpttHeader (void);
#define EFI_ACPI_AMD_OEM_ID_ARRAY {'A','M','D','I','N','C'}
#define EFI_ACPI_AMD_OEM_TABLE_ID SIGNATURE_64('S','E','A','T','T','L','E',' ')
diff --git a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf index 92f185fa..95745db0 100644 --- a/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -28,7 +28,16 @@ [Sources]
AcpiPlatform.c
+ Csrt.aslc
+ Dbg2.aslc
Dsdt.asl
+ Fadt.aslc
+ Gtdt.aslc
+ Iort.aslc
+ Madt.c
+ Mcfg.aslc
+ Pptt.aslc
+ Spcr.aslc
SsdtB1.asl
SsdtXgbe.asl
@@ -40,7 +49,6 @@ Silicon/AMD/Styx/AmdStyx.dec
[LibraryClasses]
- AmdStyxAcpiLib
BaseLib
BaseMemoryLib
DebugLib
@@ -54,12 +62,33 @@ gAmdStyxTokenSpaceGuid.PcdEthMacA
gAmdStyxTokenSpaceGuid.PcdEthMacB
gAmdStyxTokenSpaceGuid.PcdEnableSmmus
+ gAmdStyxTokenSpaceGuid.PcdSocCoreCount
gAmdStyxTokenSpaceGuid.PcdSocCpuId
[FixedPcd]
+ gAmdStyxTokenSpaceGuid.PcdCntControlBase
+ gAmdStyxTokenSpaceGuid.PcdCntReadBase
+ gAmdStyxTokenSpaceGuid.PcdCntCTLBase
+ gAmdStyxTokenSpaceGuid.PcdCntBase0
+ gAmdStyxTokenSpaceGuid.PcdCntEL0Base0
+ gAmdStyxTokenSpaceGuid.PcdGicVersion
+ gAmdStyxTokenSpaceGuid.PcdGicHypervisorInterruptInterfaceBase
+ gAmdStyxTokenSpaceGuid.PcdGicVirtualInterruptInterfaceBase
+ gAmdStyxTokenSpaceGuid.PcdGicVirtualMaintenanceInterrupt
+ gAmdStyxTokenSpaceGuid.PcdGicVirtualRegisterInterfaceBase
+ gAmdStyxTokenSpaceGuid.PcdGicMSIFrameBase
gAmdStyxTokenSpaceGuid.PcdSata1PortCount
+ gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogRefreshBase
+ gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogControlBase
+ gAmdStyxTokenSpaceGuid.PcdSbsaWakeUpGSIV
+ gAmdStyxTokenSpaceGuid.PcdSbsaWatchDogGSIV
+ gAmdStyxTokenSpaceGuid.PcdSerialDbgRegisterBase
+ gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
+ gArmTokenSpaceGuid.PcdGicDistributorBase
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
[Protocols]
+ gAmdMpCoreInfoProtocolGuid ## CONSUMED
gEfiAcpiTableProtocolGuid ## ALWAYS_CONSUMED
[Depex]
diff --git a/Silicon/AMD/Styx/AcpiTables/Csrt.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Csrt.aslc index f25f90da..4aca9320 100644 --- a/Silicon/AMD/Styx/AcpiTables/Csrt.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Csrt.aslc @@ -16,7 +16,7 @@ **/
-#include <AmdStyxAcpiLib.h>
+#include "AcpiPlatform.h"
//
// CSRT for ARM_CCN504 (L3 CACHE)
@@ -69,7 +69,7 @@ typedef struct { } AMD_ACPI_ARM_CCN504_CORE_SYSTEM_RESOURCE_TABLE;
-AMD_ACPI_ARM_CCN504_CORE_SYSTEM_RESOURCE_TABLE AcpiCsrt = {
+STATIC AMD_ACPI_ARM_CCN504_CORE_SYSTEM_RESOURCE_TABLE AcpiCsrt = {
AMD_ACPI_HEADER (EFI_ACPI_5_1_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE,
AMD_ACPI_ARM_CCN504_CORE_SYSTEM_RESOURCE_TABLE,
AMD_ACPI_ARM_CCN504_CSRT_REVISION),
@@ -97,11 +97,4 @@ AMD_ACPI_ARM_CCN504_CORE_SYSTEM_RESOURCE_TABLE AcpiCsrt = { #pragma pack(pop)
-
-EFI_ACPI_DESCRIPTION_HEADER *
-CsrtHeader (
- VOID
- )
-{
- return &AcpiCsrt.Header;
-}
+VOID* CONST ReferenceAcpiTable = &AcpiCsrt;
diff --git a/Silicon/AMD/Styx/AcpiTables/Dbg2.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dbg2.aslc index 5d6cf82d..07635aa9 100644 --- a/Silicon/AMD/Styx/AcpiTables/Dbg2.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Dbg2.aslc @@ -16,9 +16,10 @@ **/
-#include <AmdStyxAcpiLib.h>
#include <IndustryStandard/DebugPort2Table.h>
+#include "AcpiPlatform.h"
+
#pragma pack(push, 1)
#define EFI_ACPI_DBG2_REVISION 0
@@ -104,11 +105,4 @@ STATIC DBG2_TABLE AcpiDbg2 = { #pragma pack(pop)
-EFI_ACPI_DESCRIPTION_HEADER *
-Dbg2Header (
- VOID
- )
-{
- return &AcpiDbg2.Description.Header;
-}
-
+VOID* CONST ReferenceAcpiTable = &AcpiDbg2;
diff --git a/Silicon/AMD/Styx/AcpiTables/Fadt.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Fadt.aslc index bdf88a9c..35d190bd 100644 --- a/Silicon/AMD/Styx/AcpiTables/Fadt.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Fadt.aslc @@ -21,7 +21,7 @@ **/
-#include <AmdStyxAcpiLib.h>
+#include "AcpiPlatform.h"
#define FADT_FLAGS ( EFI_ACPI_5_1_HW_REDUCED_ACPI | \
EFI_ACPI_5_1_LOW_POWER_S0_IDLE_CAPABLE | \
@@ -91,11 +91,4 @@ STATIC EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = { #pragma pack(pop)
-EFI_ACPI_DESCRIPTION_HEADER *
-FadtTable (
- VOID
- )
-{
- return (EFI_ACPI_DESCRIPTION_HEADER *) &AcpiFadt;
-}
-
+VOID* CONST ReferenceAcpiTable = &AcpiFadt;
diff --git a/Silicon/AMD/Styx/AcpiTables/Gtdt.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Gtdt.aslc index 139c9ae0..34f92f2e 100644 --- a/Silicon/AMD/Styx/AcpiTables/Gtdt.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Gtdt.aslc @@ -21,7 +21,7 @@ **/
-#include <AmdStyxAcpiLib.h>
+#include "AcpiPlatform.h"
#pragma pack(push, 1)
@@ -170,20 +170,4 @@ STATIC AMD_ACPI_5_1_ARM_GTDT_STRUCTURE AcpiGtdt = { #pragma pack(pop)
-
-EFI_ACPI_DESCRIPTION_HEADER *
-GtdtHeader (
- VOID
- )
-{
- UINT32 CpuId = PcdGet32 (PcdSocCpuId);
-
- // Check BaseModel and Stepping: Styx-B0 or prior?
- if (((CpuId & 0xFF0) == 0) || ((CpuId & 0x00F) == 0)) {
- AcpiGtdt.Gtdt.Header.Length = sizeof (EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE);
- AcpiGtdt.Gtdt.PlatformTimerCount = 0;
- AcpiGtdt.Gtdt.PlatformTimerOffset = 0;
- }
-
- return (EFI_ACPI_DESCRIPTION_HEADER *) &AcpiGtdt.Gtdt.Header;
-}
+VOID* CONST ReferenceAcpiTable = &AcpiGtdt;
diff --git a/Silicon/AMD/Styx/AcpiTables/Iort.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Iort.aslc index 9c232379..7723a4dd 100644 --- a/Silicon/AMD/Styx/AcpiTables/Iort.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Iort.aslc @@ -12,9 +12,9 @@ **/
-#include <AmdStyxAcpiLib.h>
#include <IndustryStandard/IoRemappingTable.h>
-#include <SocVersion.h>
+
+#include "AcpiPlatform.h"
#define FIELD_OFFSET(type, name) __builtin_offsetof(type, name)
@@ -355,17 +355,4 @@ STATIC STYX_IO_REMAPPING_STRUCTURE AcpiIort = { #pragma pack()
-EFI_ACPI_DESCRIPTION_HEADER *
-IortHeader (
- VOID
- )
-{
- if ((PcdGet32 (PcdSocCpuId) & STYX_SOC_VERSION_MASK) < STYX_SOC_VERSION_B1) {
- //
- // Silicon revisions prior to B1 have only one SATA port,
- // so omit the nodes of the second port in this case.
- //
- AcpiIort.Iort.NumNodes -= 2;
- }
- return (EFI_ACPI_DESCRIPTION_HEADER *)&AcpiIort.Iort.Header;
-}
+VOID* CONST ReferenceAcpiTable = &AcpiIort;
diff --git a/Silicon/AMD/Styx/AcpiTables/Madt.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Madt.c index 43d415c8..b10ae7e1 100644 --- a/Silicon/AMD/Styx/AcpiTables/Madt.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Madt.c @@ -27,9 +27,10 @@ #include <Library/UefiBootServicesTableLib.h>
#include <Guid/ArmMpCoreInfo.h>
-#include <AmdStyxAcpiLib.h>
#include <Protocol/AmdMpCoreInfo.h>
+#include "AcpiPlatform.h"
+
AMD_MP_CORE_INFO_PROTOCOL *mAmdMpCoreInfoProtocol = NULL;
diff --git a/Silicon/AMD/Styx/AcpiTables/Mcfg.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Mcfg.aslc index 4fc18e8e..67fb0429 100644 --- a/Silicon/AMD/Styx/AcpiTables/Mcfg.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Mcfg.aslc @@ -16,9 +16,10 @@ **/
-#include <AmdStyxAcpiLib.h>
#include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>
+#include "AcpiPlatform.h"
+
#if STYX_A0
#define END_PCI_BUS_NUMBER 15
#else
@@ -32,7 +33,7 @@ typedef struct { EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE Structure;
} EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE;
-EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE AcpiMcfg = {
+STATIC EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE AcpiMcfg = {
{ AMD_ACPI_HEADER (EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,
EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE,
EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION),
@@ -42,10 +43,4 @@ EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE AcpiMcfg = { #pragma pack(pop)
-EFI_ACPI_DESCRIPTION_HEADER *
-McfgHeader (
- VOID
- )
-{
- return &AcpiMcfg.Header.Header;
-}
+VOID* CONST ReferenceAcpiTable = &AcpiMcfg;
diff --git a/Silicon/AMD/Styx/AcpiTables/Pptt.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc index 1746bbe8..64a6cda7 100644 --- a/Silicon/AMD/Styx/AcpiTables/Pptt.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc @@ -14,7 +14,7 @@ #include <IndustryStandard/Acpi.h>
-#include <AmdStyxAcpiLib.h>
+#include "AcpiPlatform.h"
#define FIELD_OFFSET(type, name) __builtin_offsetof(type, name)
@@ -216,10 +216,4 @@ STATIC STYX_PPTT_TABLE mStyxPpttTable = { }
};
-EFI_ACPI_DESCRIPTION_HEADER *
-PpttHeader (
- VOID
- )
-{
- return (EFI_ACPI_DESCRIPTION_HEADER *)&mStyxPpttTable.Pptt.Header;
-}
+VOID* CONST ReferenceAcpiTable = &mStyxPpttTable;
diff --git a/Silicon/AMD/Styx/AcpiTables/Spcr.c b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Spcr.aslc index 719c276c..bd84a19c 100644 --- a/Silicon/AMD/Styx/AcpiTables/Spcr.c +++ b/Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Spcr.aslc @@ -16,9 +16,10 @@ **/
-#include <AmdStyxAcpiLib.h>
#include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
+#include "AcpiPlatform.h"
+
#pragma pack(push, 1)
#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_PL011 3
@@ -114,11 +115,4 @@ STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE AcpiSpcr = { #pragma pack(pop)
-EFI_ACPI_DESCRIPTION_HEADER *
-SpcrHeader (
- VOID
- )
-{
- return &AcpiSpcr.Header;
-}
-
+VOID* CONST ReferenceAcpiTable = &AcpiSpcr;
|