From: "Sami Mujawar" <sami.mujawar@arm.com>
To: <devel@edk2.groups.io>
Cc: Sami Mujawar <sami.mujawar@arm.com>, <ardb+tianocore@kernel.org>,
<thomas.abraham@arm.com>, <leif@nuviainc.com>,
<Matteo.Carlini@arm.com>, <Ben.Adderson@arm.com>, <nd@arm.com>
Subject: [PATCH edk2-platforms v1 12/12] Platform/ARM/VExpressPkg: Remove redundant traditional ACPI support
Date: Fri, 12 Feb 2021 10:23:41 +0000 [thread overview]
Message-ID: <20210212102341.24056-13-sami.mujawar@arm.com> (raw)
In-Reply-To: <20210212102341.24056-1-sami.mujawar@arm.com>
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@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@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)'
next prev parent reply other threads:[~2021-02-12 10:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-12 10:23 [PATCH edk2-platforms v1 00/12] Platform/ARM: Add support for FVP RevC Model Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 01/12] Platform/ARM/VExpressPkg: FVP RevC SysID.Rev defintion Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 02/12] Platform/ARM/VExpressPkg: Add PCIe Host Bridge lib for FVP Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 03/12] Platform/ARM/VExpressPkg: Memory map for FVP RevC model Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 04/12] Platform/ARM/VExpressPkg: Configure SMMUv3 for FVP RevC Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 05/12] Platform/ARM/VExpressPkg: Helper macro to map reference token Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 06/12] Platform/ARM/VExpressPkg: ACPI support for FVP RevC model Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 07/12] Platform/ARM/VExpressPkg: Add " Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 08/12] Platform/ARM/VExpressPkg: Update ACPI Revision to 6.3 Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 09/12] Platform/ARM/VExpressPkg: Add SMC91x device description Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 10/12] Platform/ARM/VExpressPkg: Add Virtio Block Device description Sami Mujawar
2021-02-12 10:23 ` [PATCH edk2-platforms v1 11/12] Platform/ARM/VExpressPkg: Make Dynamic Tables Framework default Sami Mujawar
2021-02-12 10:23 ` Sami Mujawar [this message]
2021-02-13 10:26 ` [PATCH edk2-platforms v1 00/12] Platform/ARM: Add support for FVP RevC Model Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210212102341.24056-13-sami.mujawar@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox