[edk2-devel] [PATCH edk2-platforms v1 12/12] Platform/ARM/VExpressPkg: Remove redundant traditional ACPI support

Sami Mujawar sami.mujawar at arm.com
Fri Feb 12 10:23:41 UTC 2021


Dynamic Tables Framework enables unification of the firmware
for FVP_Base_AEMv8A-AEMv8A and FVP_Base_RevC-2xAEMv8A models
such that the same firmware binary can be used by both models.

A single firmware binary cannot be supported using the traditional
ACPI tables. Therefore, remove support for the now redundant
traditional ACPI tables.

Signed-off-by: Sami Mujawar <sami.mujawar at arm.com>
---
 Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf   |  38 -----
 Platform/ARM/VExpressPkg/AcpiTables/Dsdt.asl         | 123 --------------
 Platform/ARM/VExpressPkg/AcpiTables/Fadt.aslc        |  80 ---------
 Platform/ARM/VExpressPkg/AcpiTables/FvpPlatform.h    |  40 -----
 Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc        | 169 --------------------
 Platform/ARM/VExpressPkg/AcpiTables/Madt.aslc        |  85 ----------
 Platform/ARM/VExpressPkg/AcpiTables/Spcr.aslc        |  82 ----------
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc |  10 +-
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf |  13 +-
 9 files changed, 2 insertions(+), 638 deletions(-)

diff --git a/Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf b/Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
deleted file mode 100644
index bca1d21de704368caf5e5a290670ddcfcdd5fb80..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
+++ /dev/null
@@ -1,38 +0,0 @@
-## @file
-#
-#  ACPI table data and ASL sources required to boot the platform.
-#
-#  Copyright (c) 2014-2017, ARM Ltd. All rights reserved.
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = FvpAcpiTables
-  FILE_GUID                      = 7E374E25-8E01-4FEE-87F2-390C23C606CD
-  MODULE_TYPE                    = USER_DEFINED
-  VERSION_STRING                 = 1.0
-
-[Sources]
-  Dsdt.asl
-  Spcr.aslc
-  Fadt.aslc
-  Gtdt.aslc
-  Madt.aslc
-
-[Packages]
-  ArmPkg/ArmPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
-
-[FixedPcd]
-  gArmTokenSpaceGuid.PcdGicDistributorBase
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
-  gArmTokenSpaceGuid.PcdGicRedistributorsBase
-
-  gArmPlatformTokenSpaceGuid.PcdWatchdogCount
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Dsdt.asl b/Platform/ARM/VExpressPkg/AcpiTables/Dsdt.asl
deleted file mode 100644
index f9b44bb25f723bf002b7fc82c65fa2d300c4bf05..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/Dsdt.asl
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2013, Al Stone <al.stone at linaro.org>
-* All rights reserved.
-*
-* SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-*
-* NB: This License is also known as the "BSD 2-Clause License".
-*
-*
-* [DSDT] Description of the armv8 VE Model
-*
-*/
-
-DefinitionBlock (
-  "dsdt.aml",    // output filename
-  "DSDT",      // table signature
-  2,      // DSDT compliance revision
-  "LINARO",    // OEM ID
-  "RTSMVEV8",    // table ID
-  0x00000004)    // OEM revision
-{
-  Scope (\_SB)
-  {
-    Method (_OSC, 4, NotSerialized)
-    {
-      /* Platform-Wide OSPM Capabilities */
-      If(LEqual(Arg0,ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48")))
-      {
-        /* APEI support unconditionally */
-        Return (Arg3)
-      } Else {
-        CreateDWordField (Arg3, Zero, CDW1)
-        /* Set invalid UUID error bit */
-        Or (CDW1, 0x04, CDW1)
-        Return (Arg3)
-      }
-    }
-
-    //
-    // Two Emulated aarch64 CPUs each with 4 cores
-    //
-    Device(CPU0) { // Cluster 0, Cpu 0
-      Name(_HID, "ACPI0007")
-      Name(_UID, 0)
-    }
-    Device(CPU1) { // Cluster 0, Cpu 1
-      Name(_HID, "ACPI0007")
-      Name(_UID, 1)
-    }
-    Device(CPU2) { // Cluster 0, Cpu 2
-      Name(_HID, "ACPI0007")
-      Name(_UID, 2)
-    }
-    Device(CPU3) { // Cluster 0, Cpu 3
-      Name(_HID, "ACPI0007")
-      Name(_UID, 3)
-    }
-    Device(CPU4) { // Cluster 1, Cpu 0
-      Name(_HID, "ACPI0007")
-      Name(_UID, 4)
-    }
-    Device(CPU5) { // Cluster 1, Cpu 1
-      Name(_HID, "ACPI0007")
-      Name(_UID, 5)
-    }
-    Device(CPU6) { // Cluster 1, Cpu 2
-      Name(_HID, "ACPI0007")
-      Name(_UID, 6)
-    }
-    Device(CPU7) { // Cluster 1, Cpu 3
-      Name(_HID, "ACPI0007")
-      Name(_UID, 7)
-    }
-
-    // SMC91X
-    Device (NET0) {
-      Name (_HID, "LNRO0003")
-      Name (_UID, 0)
-
-      Name (_CRS, ResourceTemplate () {
-        Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x2F}
-      })
-    }
-
-    // SYSREG
-    Device (SREG) {
-      Name (_HID, "LNRO0009")
-      Name (_UID, 0)
-
-      Method (_CRS, 0x0, Serialized) {
-        Name (RBUF, ResourceTemplate() {
-          Memory32Fixed (ReadWrite, 0x1c010000, 0x1000)
-        })
-        Return (RBUF)
-      }
-    }
-
-    // VIRTIO
-    Device (VIRT) {
-      Name (_HID, "LNRO0005")
-      Name (_UID, 0)
-
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (ReadWrite, 0x1c130000, 0x1000)
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {0x4A}
-      })
-    }
-
-    // UART PL011
-    Device(COM0) {
-      Name(_HID, "ARMH0011")
-      Name(_CID, "PL011")
-      Name(_UID, Zero)
-
-      Name(_CRS, ResourceTemplate() {
-        Memory32Fixed(ReadWrite, 0x1c090000, 0x1000)
-        Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 0x25 }
-      })
-    }
-  }
-}
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Fadt.aslc b/Platform/ARM/VExpressPkg/AcpiTables/Fadt.aslc
deleted file mode 100644
index 4eaec61b32605a992bec09e71021e98ed89d3759..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/Fadt.aslc
+++ /dev/null
@@ -1,80 +0,0 @@
-/** @file
-*  Fixed ACPI Description Table (FADT)
-*
-*  Copyright (c) 2012 - 2016, ARM Limited. All rights reserved.
-*
-*  SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-**/
-
-#include "FvpPlatform.h"
-#include <Library/AcpiLib.h>
-#include <IndustryStandard/Acpi.h>
-
-EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
-  ARM_ACPI_HEADER (
-    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
-    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE,
-    EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
-  ),
-  0,                                                                        // UINT32     FirmwareCtrl
-  0,                                                                        // UINT32     Dsdt
-  EFI_ACPI_RESERVED_BYTE,                                                   // UINT8      Reserved0
-  EFI_ACPI_6_1_PM_PROFILE_UNSPECIFIED,                                      // UINT8      PreferredPmProfile
-  0,                                                                        // UINT16     SciInt
-  0,                                                                        // UINT32     SmiCmd
-  0,                                                                        // UINT8      AcpiEnable
-  0,                                                                        // UINT8      AcpiDisable
-  0,                                                                        // UINT8      S4BiosReq
-  0,                                                                        // UINT8      PstateCnt
-  0,                                                                        // UINT32     Pm1aEvtBlk
-  0,                                                                        // UINT32     Pm1bEvtBlk
-  0,                                                                        // UINT32     Pm1aCntBlk
-  0,                                                                        // UINT32     Pm1bCntBlk
-  0,                                                                        // UINT32     Pm2CntBlk
-  0,                                                                        // UINT32     PmTmrBlk
-  0,                                                                        // UINT32     Gpe0Blk
-  0,                                                                        // UINT32     Gpe1Blk
-  0,                                                                        // UINT8      Pm1EvtLen
-  0,                                                                        // UINT8      Pm1CntLen
-  0,                                                                        // UINT8      Pm2CntLen
-  0,                                                                        // UINT8      PmTmrLen
-  0,                                                                        // UINT8      Gpe0BlkLen
-  0,                                                                        // UINT8      Gpe1BlkLen
-  0,                                                                        // UINT8      Gpe1Base
-  0,                                                                        // UINT8      CstCnt
-  0,                                                                        // UINT16     PLvl2Lat
-  0,                                                                        // UINT16     PLvl3Lat
-  0,                                                                        // UINT16     FlushSize
-  0,                                                                        // UINT16     FlushStride
-  0,                                                                        // UINT8      DutyOffset
-  0,                                                                        // UINT8      DutyWidth
-  0,                                                                        // UINT8      DayAlrm
-  0,                                                                        // UINT8      MonAlrm
-  0,                                                                        // UINT8      Century
-  0,                                                                        // UINT16     IaPcBootArch
-  0,                                                                        // UINT8      Reserved1
-  EFI_ACPI_6_1_HW_REDUCED_ACPI | EFI_ACPI_6_1_LOW_POWER_S0_IDLE_CAPABLE,    // UINT32     Flags
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  ResetReg
-  0,                                                                        // UINT8      ResetValue
-  EFI_ACPI_6_1_ARM_PSCI_COMPLIANT,                                          // UINT16     ArmBootArchFlags
-  EFI_ACPI_6_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,                 // UINT8      MinorRevision
-  0,                                                                        // UINT64     XFirmwareCtrl
-  0,                                                                        // UINT64     XDsdt
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPm1aEvtBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPm1bEvtBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPm1aCntBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPm1bCntBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPm2CntBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XPmTmrBlk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk
-  NULL_GAS,                                                                 // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  SleepControlReg
-  NULL_GAS                                                                  // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  SleepStatusReg
-};
-
-//
-// Reference the table being generated to prevent the optimizer from removing the
-// data structure from the executable
-//
-VOID* CONST ReferenceAcpiTable = &Fadt;
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/FvpPlatform.h b/Platform/ARM/VExpressPkg/AcpiTables/FvpPlatform.h
deleted file mode 100644
index 21df93f6eee6f2f0201a08b77369d2955e527d78..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/FvpPlatform.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/** @file
-*
-*  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
-*  Copyright (c) 2015, Hisilicon Limited. All rights reserved.
-*  Copyright (c) 2015, Linaro Limited. All rights reserved.
-*
-*  SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-*  Based on the files under ArmPlatformPkg/ArmJunoPkg/AcpiTables/
-*
-**/
-
-
-#ifndef _FVP_PLATFORM_H_
-#define _FVP_PLATFORM_H_
-
-//
-// ACPI table information used to initialize tables.
-//
-#define EFI_ACPI_ARM_OEM_ID           'L','I','N','A','R','O'   // OEMID 6 bytes long
-#define EFI_ACPI_ARM_OEM_TABLE_ID     SIGNATURE_64('R','T','S','M','V','E','V','8') // OEM table id 8 bytes long
-#define EFI_ACPI_ARM_OEM_REVISION     0x00000002
-#define EFI_ACPI_ARM_CREATOR_ID       SIGNATURE_32('L','N','R','O')
-#define EFI_ACPI_ARM_CREATOR_REVISION 0x00000002
-
-// A macro to initialise the common header part of EFI ACPI tables as defined by
-// EFI_ACPI_DESCRIPTION_HEADER structure.
-#define ARM_ACPI_HEADER(Signature, Type, Revision) {              \
-    Signature,                      /* UINT32  Signature */       \
-    sizeof (Type),                  /* UINT32  Length */          \
-    Revision,                       /* UINT8   Revision */        \
-    0,                              /* UINT8   Checksum */        \
-    { EFI_ACPI_ARM_OEM_ID },        /* UINT8   OemId[6] */        \
-    EFI_ACPI_ARM_OEM_TABLE_ID,      /* UINT64  OemTableId */      \
-    EFI_ACPI_ARM_OEM_REVISION,      /* UINT32  OemRevision */     \
-    EFI_ACPI_ARM_CREATOR_ID,        /* UINT32  CreatorId */       \
-    EFI_ACPI_ARM_CREATOR_REVISION   /* UINT32  CreatorRevision */ \
-  }
-
-#endif
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc b/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc
deleted file mode 100644
index 9007fc936c589295a4cb53ebd25cad3f1ace058e..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc
+++ /dev/null
@@ -1,169 +0,0 @@
-/** @file
-*  Generic Timer Description Table (GTDT)
-*
-*  Copyright (c) 2012 - 2018, ARM Limited. All rights reserved.
-*  Copyright (c) 2016, Linaro Ltd. All rights reserved
-*
-*  SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-**/
-
-#include "FvpPlatform.h"
-#include <Library/AcpiLib.h>
-#include <Library/PcdLib.h>
-#include <IndustryStandard/Acpi61.h>
-
-#define FVP_SYSTEM_TIMER_BASE_ADDRESS   0x000000002a430000
-#define FVP_CNT_READ_BASE_ADDRESS       0x000000002a800000
-
-#define FVP_SECURE_TIMER_EL1_GSIV       0x1D
-#define FVP_NON_SECURE_TIMER_EL1_GSIV   0x1E
-#define FVP_VIRTUAL_TIMER_GSIV          0x1B
-#define FVP_NON_SECURE_EL2_GSIV         0x1A
-
-#define GTDT_TIMER_EDGE_TRIGGERED   EFI_ACPI_6_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE
-#define GTDT_TIMER_LEVEL_TRIGGERED  0
-#define GTDT_TIMER_ACTIVE_LOW       EFI_ACPI_6_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY
-#define GTDT_TIMER_ACTIVE_HIGH      0
-#define GTDT_TIMER_SAVE_CONTEXT     EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
-#define GTDT_TIMER_LOSE_CONTEXT     0
-
-#define FVP_GTDT_GTIMER_FLAGS       (GTDT_TIMER_LOSE_CONTEXT | GTDT_TIMER_ACTIVE_HIGH | GTDT_TIMER_EDGE_TRIGGERED)
-
-#define FVP_WATCHDOG_COUNT          FixedPcdGet32 (PcdWatchdogCount)
-#define FVP_PLATFORM_TIMER_COUNT    (FVP_WATCHDOG_COUNT + 1)
-#define FVP_TIMER_FRAMES_COUNT      2
-
-#define FVP_GT_BLOCK_CTL_BASE           0x000000002A810000
-#define FVP_GT_BLOCK_FRAME0_CTL_BASE    0x000000002A820000
-#define FVP_GT_BLOCK_FRAME0_CTL_EL0_BASE  0xFFFFFFFFFFFFFFFF
-#define FVP_GT_BLOCK_FRAME0_GSIV        0x39
-
-#define FVP_GT_BLOCK_FRAME1_CTL_BASE    0x000000002A830000
-#define FVP_GT_BLOCK_FRAME1_CTL_EL0_BASE  0xFFFFFFFFFFFFFFFF
-#define FVP_GT_BLOCK_FRAME1_GSIV        0x3A
-
-#define GTX_TIMER_EDGE_TRIGGERED    EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE
-#define GTX_TIMER_LEVEL_TRIGGERED   0
-#define GTX_TIMER_ACTIVE_LOW        EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY
-#define GTX_TIMER_ACTIVE_HIGH       0
-
-#define FVP_GTX_TIMER_FLAGS         (GTX_TIMER_ACTIVE_HIGH | GTX_TIMER_LEVEL_TRIGGERED)
-
-#define GTX_TIMER_SECURE            EFI_ACPI_6_1_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER
-#define GTX_TIMER_NON_SECURE        0
-#define GTX_TIMER_SAVE_CONTEXT      EFI_ACPI_6_1_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY
-#define GTX_TIMER_LOSE_CONTEXT      0
-
-#define FVP_GTX_COMMON_FLAGS_S      (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE)
-#define FVP_GTX_COMMON_FLAGS_NS     (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_NON_SECURE)
-
-#define FVP_SBSA_WATCHDOG_REFRESH_BASE     0x000000002a450000
-#define FVP_SBSA_WATCHDOG_CONTROL_BASE     0x000000002a440000
-#define FVP_SBSA_WATCHDOG_GSIV             0x3B
-
-#define SBSA_WATCHDOG_EDGE_TRIGGERED   EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE
-#define SBSA_WATCHDOG_LEVEL_TRIGGERED  0
-#define SBSA_WATCHDOG_ACTIVE_LOW       EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY
-#define SBSA_WATCHDOG_ACTIVE_HIGH      0
-#define SBSA_WATCHDOG_SECURE           EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER
-#define SBSA_WATCHDOG_NON_SECURE       0
-
-#define FVP_SBSA_WATCHDOG_FLAGS            (SBSA_WATCHDOG_NON_SECURE | SBSA_WATCHDOG_ACTIVE_HIGH | SBSA_WATCHDOG_LEVEL_TRIGGERED)
-
-#pragma pack (1)
-
-typedef struct {
-  EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE          Gtdt;
-  EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE                  GtBlock;
-  EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_STRUCTURE            Frames[FVP_TIMER_FRAMES_COUNT];
-#if (FVP_WATCHDOG_COUNT != 0)
-  EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE     Watchdogs[FVP_WATCHDOG_COUNT];
-#endif
-} FVP_GENERIC_TIMER_DESCRIPTION_TABLES;
-
-#pragma pack ()
-
-FVP_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
-  {
-    ARM_ACPI_HEADER(
-      EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,
-      FVP_GENERIC_TIMER_DESCRIPTION_TABLES,
-      EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION
-    ),
-    FVP_SYSTEM_TIMER_BASE_ADDRESS,                        // UINT64  PhysicalAddress
-    EFI_ACPI_RESERVED_DWORD,                              // UINT32  Reserved
-    FVP_SECURE_TIMER_EL1_GSIV,                            // UINT32  SecurePL1TimerGSIV
-    FVP_GTDT_GTIMER_FLAGS,                                // UINT32  SecurePL1TimerFlags
-    FVP_NON_SECURE_TIMER_EL1_GSIV,                        // UINT32  NonSecurePL1TimerGSIV
-    FVP_GTDT_GTIMER_FLAGS,                                // UINT32  NonSecurePL1TimerFlags
-    FVP_VIRTUAL_TIMER_GSIV,                               // UINT32  VirtualTimerGSIV
-    FVP_GTDT_GTIMER_FLAGS,                                // UINT32  VirtualTimerFlags
-    FVP_NON_SECURE_EL2_GSIV,                              // UINT32  NonSecurePL2TimerGSIV
-    FVP_GTDT_GTIMER_FLAGS,                                // UINT32  NonSecurePL2TimerFlags
-    FVP_CNT_READ_BASE_ADDRESS,                            // UINT64  CntReadBasePhysicalAddress
-    FVP_PLATFORM_TIMER_COUNT,                             // UINT32  PlatformTimerCount
-#if (FVP_PLATFORM_TIMER_COUNT != 0)
-    sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32  PlatfromTimerOffset
-#else
-    0
-#endif
-  },
-  {
-    EFI_ACPI_6_1_GTDT_GT_BLOCK,                           // UINT8 Type
-    sizeof(EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE)          // UINT16 Length
-      + sizeof(EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_STRUCTURE) *
-        FVP_TIMER_FRAMES_COUNT,
-    EFI_ACPI_RESERVED_BYTE,                               // UINT8 Reserved
-    FVP_GT_BLOCK_CTL_BASE,                                // UINT64 CntCtlBase
-    FVP_TIMER_FRAMES_COUNT,                               // UINT32 GTBlockTimerCount
-    sizeof(EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE)          // UINT32 GTBlockTimerOffset
-  },
-  {
-    {
-      0,                                                    // UINT8 GTFrameNumber
-      {EFI_ACPI_RESERVED_BYTE,
-       EFI_ACPI_RESERVED_BYTE,
-       EFI_ACPI_RESERVED_BYTE},                             // UINT8 Reserved[3]
-      FVP_GT_BLOCK_FRAME0_CTL_BASE,                         // UINT64 CntBaseX
-      FVP_GT_BLOCK_FRAME0_CTL_EL0_BASE,                     // UINT64 CntEL0BaseX
-      FVP_GT_BLOCK_FRAME0_GSIV,                             // UINT32 GTxPhysicalTimerGSIV
-      FVP_GTX_TIMER_FLAGS,                                  // UINT32 GTxPhysicalTimerFlags
-      0,                                                    // UINT32 GTxVirtualTimerGSIV
-      0,                                                    // UINT32 GTxVirtualTimerFlags
-      FVP_GTX_COMMON_FLAGS_S                                // UINT32 GTxCommonFlags
-    },
-    {
-      1,                                                    // UINT8 GTFrameNumber
-      {EFI_ACPI_RESERVED_BYTE,
-       EFI_ACPI_RESERVED_BYTE,
-       EFI_ACPI_RESERVED_BYTE},                             // UINT8 Reserved[3]
-      FVP_GT_BLOCK_FRAME1_CTL_BASE,                         // UINT64 CntBaseX
-      FVP_GT_BLOCK_FRAME1_CTL_EL0_BASE,                     // UINT64 CntEL0BaseX
-      FVP_GT_BLOCK_FRAME1_GSIV,                             // UINT32 GTxPhysicalTimerGSIV
-      FVP_GTX_TIMER_FLAGS,                                  // UINT32 GTxPhysicalTimerFlags
-      0,                                                    // UINT32 GTxVirtualTimerGSIV
-      0,                                                    // UINT32 GTxVirtualTimerFlags
-      FVP_GTX_COMMON_FLAGS_NS                               // UINT32 GTxCommonFlags
-    }
-  },
-#if (FVP_WATCHDOG_COUNT != 0)
-  {
-    {
-      EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG,                // UINT8 Type
-      sizeof(EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE), // UINT16 Length
-      EFI_ACPI_RESERVED_BYTE,                                 // UINT8 Reserved
-      FVP_SBSA_WATCHDOG_REFRESH_BASE,                         // UINT64 RefreshFramePhysicalAddress
-      FVP_SBSA_WATCHDOG_CONTROL_BASE,                         // UINT64 WatchdogControlFramePhysicalAddress
-      FVP_SBSA_WATCHDOG_GSIV,                                 // UINT32 WatchdogTimerGSIV
-      FVP_SBSA_WATCHDOG_FLAGS                                 // UINT32 WatchdogTimerFlags
-    }
-  }
-#endif
-};
-
-//
-// Reference the table being generated to prevent the optimizer from removing the
-// data structure from the executable
-//
-VOID* CONST ReferenceAcpiTable = &Gtdt;
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Madt.aslc b/Platform/ARM/VExpressPkg/AcpiTables/Madt.aslc
deleted file mode 100644
index b34422e13f24b6cdf118e80777f2c1763a9fe170..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/Madt.aslc
+++ /dev/null
@@ -1,85 +0,0 @@
-/** @file
-*  Multiple APIC Description Table (MADT)
-*
-*  Copyright (c) 2012 - 2015, ARM Limited. All rights reserved.
-*  Copyright (c) 2016 Linaro Ltd. All rights reserved.
-*
-*  SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-**/
-
-#include "FvpPlatform.h"
-#include <Library/AcpiLib.h>
-#include <Library/ArmLib.h>
-#include <Library/PcdLib.h>
-#include <IndustryStandard/Acpi61.h>
-
-//
-// Multiple APIC Description Table
-//
-#pragma pack (1)
-
-typedef struct {
-  EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER   Header;
-  EFI_ACPI_6_1_GIC_STRUCTURE                            GicInterfaces[8];
-  EFI_ACPI_6_1_GIC_DISTRIBUTOR_STRUCTURE                GicDistributor;
-  EFI_ACPI_6_1_GICR_STRUCTURE                           Gicr;
-} FVP_MULTIPLE_APIC_DESCRIPTION_TABLE;
-
-#pragma pack ()
-
-FVP_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
-  {
-    ARM_ACPI_HEADER (
-      EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,
-      FVP_MULTIPLE_APIC_DESCRIPTION_TABLE,
-      EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION
-    ),
-    //
-    // MADT specific fields
-    //
-    0, // LocalApicAddress
-    0, // Flags
-  },
-  {
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        0, 0, GET_MPID(0, 0), EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        1, 1, GET_MPID(0, 1),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        2, 2, GET_MPID(0, 2),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        3, 3, GET_MPID(0, 3),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        4, 4, GET_MPID(1, 0),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        5, 5, GET_MPID(1, 1),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        6, 6, GET_MPID(1, 2),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-    EFI_ACPI_6_0_GICC_STRUCTURE_INIT(
-        7, 7, GET_MPID(1, 3),  EFI_ACPI_6_0_GIC_ENABLED, 0, FixedPcdGet64 (PcdGicInterruptInterfaceBase),
-        0x2C02F000, 0x2C010000, 0x19, 0, 0),
-  },
-  EFI_ACPI_6_0_GIC_DISTRIBUTOR_INIT(0, FixedPcdGet64 (PcdGicDistributorBase), 0, 3),
-  /* GIC Redistributor */
-  {
-    EFI_ACPI_6_1_GICR,                         // UINT8 Type
-    sizeof(EFI_ACPI_6_1_GICR_STRUCTURE),       // UINT8 Length
-    EFI_ACPI_RESERVED_WORD,                    // UINT16 Reserved
-    FixedPcdGet64 (PcdGicRedistributorsBase),  // UINT64 DiscoveryRangeBaseAddress
-    0x00200000,                                // UINT32 DiscoveryRangeLength
-  }
-};
-
-//
-// Reference the table being generated to prevent the optimizer from removing the
-// data structure from the executable
-//
-VOID* CONST ReferenceAcpiTable = &Madt;
diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Spcr.aslc b/Platform/ARM/VExpressPkg/AcpiTables/Spcr.aslc
deleted file mode 100644
index 7a6b635ac7dfcab327b14b0bb057904740aa7b68..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/AcpiTables/Spcr.aslc
+++ /dev/null
@@ -1,82 +0,0 @@
-/** @file
-* SPCR Table
-*
-* Copyright (c) 2014 - 2016, ARM Limited. All rights reserved.
-* Copyright (c) 2016, Linaro Ltd. All rights reserved.
-*
-* SPDX-License-Identifier: BSD-2-Clause-Patent
-*
-**/
-
-#include "FvpPlatform.h"
-#include <Library/AcpiLib.h>
-#include <IndustryStandard/Acpi61.h>
-#include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
-
-/**
- * References:
- * Serial Port Console Redirection Table Specification Version 1.03 - August 10, 2015
- **/
-
-
-///
-/// SPCR Flow Control
-///
-#define SPCR_FLOW_CONTROL_NONE           0
-
-
-STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = {
-  ARM_ACPI_HEADER (EFI_ACPI_6_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
-                     EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE,
-                     EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION),
-  // UINT8                                   InterfaceType;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_PL011_UART,
-  // UINT8                                   Reserved1[3];
-  {
-    EFI_ACPI_RESERVED_BYTE,
-    EFI_ACPI_RESERVED_BYTE,
-    EFI_ACPI_RESERVED_BYTE
-  },
-  // EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  BaseAddress;
-  ARM_GAS32 (0x1C090000),
-  // UINT8                                   InterruptType;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC,
-  // UINT8                                   Irq;
-  0,                                         // Not used on ARM
-  // UINT32                                  GlobalSystemInterrupt;
-  0x25,
-  // UINT8                                   BaudRate;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200,
-  // UINT8                                   Parity;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY,
-  // UINT8                                   StopBits;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1,
-  // UINT8                                   FlowControl;
-  SPCR_FLOW_CONTROL_NONE,
-  // UINT8                                   TerminalType;
-  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI,
-  // UINT8                                   Reserved2;
-  EFI_ACPI_RESERVED_BYTE,
-  // UINT16                                  PciDeviceId;
-  0xFFFF,
-  // UINT16                                  PciVendorId;
-  0xFFFF,
-  // UINT8                                   PciBusNumber;
-  0x00,
-  // UINT8                                   PciDeviceNumber;
-  0x00,
-  // UINT8                                   PciFunctionNumber;
-  0x00,
-  // UINT32                                  PciFlags;
-  0x00000000,
-  // UINT8                                   PciSegment;
-  0x00,
-  // UINT32                                  Reserved3;
-  EFI_ACPI_RESERVED_DWORD
-};
-
-//
-// Reference the table being generated to prevent the optimizer from removing the
-// data structure from the executable
-//
-VOID* CONST ReferenceAcpiTable = &Spcr;
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
index 12562ceafd8ab020d61d4ba70fdd6c8c128da6a2..ccef0839570cdceb23d7ad68f1ca022f6276e427 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
@@ -30,12 +30,9 @@ [Defines]
 !endif
 
   DT_SUPPORT                     = FALSE
-  DYNAMIC_TABLES_FRAMEWORK       = TRUE
 
 !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
-!ifdef DYNAMIC_TABLES_FRAMEWORK
-  !include DynamicTablesPkg/DynamicTables.dsc.inc
-!endif
+!include DynamicTablesPkg/DynamicTables.dsc.inc
 
 [LibraryClasses.common]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
@@ -284,16 +281,11 @@ [Components.common]
 !endif
   }
 
-!ifndef DYNAMIC_TABLES_FRAMEWORK
-  MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
-  Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
-!else
   Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf {
     <PcdsFixedAtBuild>
       gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000
       gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x25
   }
-!endif
 
   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
   ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
index 418566673981a9655fbc7a834942443a2005c403..7635cb7a8406bca4b5ff60ab7ac1774db40ee6fc 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
@@ -92,10 +92,7 @@ [FV.FvMain]
   # ACPI Support
   #
   INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
-!ifndef DYNAMIC_TABLES_FRAMEWORK
-  INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
-  INF RuleOverride=ACPITABLE Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
-!else
+
   # Configuration Manager
   INF Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 
@@ -103,7 +100,6 @@ [FV.FvMain]
   # Dynamic Table fdf
   #
   !include DynamicTablesPkg/DynamicTables.fdf.inc
-!endif
 
   #
   # Multiple Console IO support
@@ -341,10 +337,3 @@ [Rule.Common.UEFI_APPLICATION.BINARY]
     VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
   }
 
-!ifndef DYNAMIC_TABLES_FRAMEWORK
-[Rule.Common.USER_DEFINED.ACPITABLE]
-  FILE FREEFORM = $(NAMED_GUID) {
-    RAW ACPI               |.acpi
-    RAW ASL                |.aml
-  }
-!endif
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71638): https://edk2.groups.io/g/devel/message/71638
Mute This Topic: https://groups.io/mt/80580216/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list