From nobody Tue Feb 10 08:31:27 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89488+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89488+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=quicinc.com ARC-Seal: i=1; a=rsa-sha256; t=1651603723; cv=none; d=zohomail.com; s=zohoarc; b=V7FbgyY5njuJhZ2VBwm5LceOqnWkYYPqEMPHR2dNEuPLxSN+IkqPl+GKwokAogMf0i8enEQh1+BsLrtOsGcZNxLJKzHWtNZsgu1nXTgXLsHD7VW1aTRhW3dmRbQuU/LC8EKkbNMQp6RwP84Pj49sA68DlFYFuQLBrij4YYXtOqk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1651603723; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=YmeAVXknuJMpNQ/EoXH2GJDTGoCZ2cKAmwTyioQPfuQ=; b=hs7kX66x1GfE8o6CYcU6u7h1WO/cKsS72fMQ+CJXilIcOXrLaiVYJGSDnJhX9Jr9aX6rb5503hn6vCvTzxPaYWIJC4kqyptmkMAR7Fn2kUk4Dnp55ZUQ91k/qaaIBdEGQgcLR0m47uoEfXaWSpknuROkiD61vK3NoysVZcJeh0M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89488+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1651603723802201.62955593976642; Tue, 3 May 2022 11:48:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id pb6DYY1788612xgg4crmEqEw; Tue, 03 May 2022 11:48:43 -0700 X-Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by mx.groups.io with SMTP id smtpd.web08.1014.1651603719238416815 for ; Tue, 03 May 2022 11:48:42 -0700 X-Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-01.qualcomm.com with ESMTP; 03 May 2022 11:48:42 -0700 X-QCInternal: smtphost X-Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 May 2022 11:48:41 -0700 X-Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 3 May 2022 11:48:40 -0700 X-Received: from linbox.ba.nuviainc.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 3 May 2022 11:48:39 -0700 From: "Rebecca Cran" To: , Leif Lindholm , "Ard Biesheuvel" , Sami Mujawar , Gerd Hoffmann , Bob Feng , "Liming Gao" , Yuwei Chen , "Jiewen Yao" , Jian J Wang , Xiaoyu Lu , Guomin Jiang , Abner Chang , Daniel Schaefer , Ray Ni , Michael D Kinney , "Zhiguang Liu" , Maciej Rabeda , Jiaxin Wu , Siyuan Fu , "Jordan Justen" , Anthony Perard , Julien Grall CC: Rebecca Cran Subject: [edk2-devel] [PATCH 02/10] ArmPlatformPkg: Remove RVCT support Date: Tue, 3 May 2022 12:48:12 -0600 Message-ID: <20220503184820.19312-3-quic_rcran@quicinc.com> In-Reply-To: <20220503184820.19312-1-quic_rcran@quicinc.com> References: <20220503184820.19312-1-quic_rcran@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,quic_rcran@quicinc.com X-Gm-Message-State: iIjCG5GJ2Ifno04uq36P1BUhx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1651603723; bh=EDoEumMCdWCuGB3pXbXUZ9E79n1ER4fHhFj6ofIdZos=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=isg67ZmBBowDoRAj11HoJS0i+TRxP34LN/9rTk2ycRqD6ik32Yb2PPeJ0eUa0gLRm7T IQL2t/vw/U24M/gqVkKKQVhlZXVezBp/PUfPARS4OqnsEXVbaEUgc6dNZ4ixBQglGHLb9 5g1yKKV+IR0B/4KkR2ApcWW4zvmgJo5RXgE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1651603725316100009 Content-Type: text/plain; charset="utf-8" RVCT is obsolete and no longer used. Remove support for it. Signed-off-by: Rebecca Cran --- ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm | = 62 --------- ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf | = 1 - ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm | 1= 18 ---------------- ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf | = 1 - ArmPlatformPkg/PrePeiCore/Arm/Exception.asm | = 83 ------------ ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm | = 89 ------------ ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm | = 32 ----- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf | = 3 - ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | = 3 - ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm | 1= 42 -------------------- ArmPlatformPkg/PrePi/PeiMPCore.inf | = 1 - ArmPlatformPkg/PrePi/PeiUniCore.inf | = 1 - ArmPlatformPkg/Scripts/Makefile | = 5 +- 13 files changed, 1 insertion(+), 540 deletions(-) diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelpe= r.asm b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm deleted file mode 100644 index 1c305f8b507e..000000000000 --- a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm +++ /dev/null @@ -1,62 +0,0 @@ -// -// Copyright (c) 2012-2013, ARM Limited. All rights reserved. -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// - -#include - - INCLUDE AsmMacroIoLib.inc - - EXPORT ArmPlatformPeiBootAction - EXPORT ArmPlatformGetCorePosition - EXPORT ArmPlatformGetPrimaryCoreMpId - EXPORT ArmPlatformIsPrimaryCore - - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask - - PRESERVE8 - AREA ArmPlatformNullHelper, CODE, READONLY - -ArmPlatformPeiBootAction FUNCTION - bx lr - ENDFUNC - -//UINTN -//ArmPlatformGetCorePosition ( -// IN UINTN MpId -// ); -ArmPlatformGetCorePosition FUNCTION - and r1, r0, #ARM_CORE_MASK - and r0, r0, #ARM_CLUSTER_MASK - add r0, r1, r0, LSR #7 - bx lr - ENDFUNC - -//UINTN -//ArmPlatformGetPrimaryCoreMpId ( -// VOID -// ); -ArmPlatformGetPrimaryCoreMpId FUNCTION - mov32 r0, FixedPcdGet32(PcdArmPrimaryCore) - bx lr - ENDFUNC - -//UINTN -//ArmPlatformIsPrimaryCore ( -// IN UINTN MpId -// ); -ArmPlatformIsPrimaryCore FUNCTION - mov32 r1, FixedPcdGet32(PcdArmPrimaryCoreMask) - and r0, r0, r1 - mov32 r1, FixedPcdGet32(PcdArmPrimaryCore) - cmp r0, r1 - moveq r0, #1 - movne r0, #0 - bx lr - ENDFUNC - - END - diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.i= nf b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf index e0d0028d8224..4a1cd97e3553 100644 --- a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf @@ -29,7 +29,6 @@ =20 [Sources.Arm] Arm/ArmPlatformHelper.S | GCC - Arm/ArmPlatformHelper.asm | RVCT =20 [Sources.AArch64] AArch64/ArmPlatformHelper.S diff --git a/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStac= kLib.asm b/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackL= ib.asm deleted file mode 100644 index 2c346146d09c..000000000000 --- a/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm +++ /dev/null @@ -1,118 +0,0 @@ -// -// Copyright (c) 2012-2013, ARM Limited. All rights reserved. -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// - -#include - - INCLUDE AsmMacroIoLib.inc - - EXPORT ArmPlatformStackSet - EXPORT ArmPlatformStackSetPrimary - EXPORT ArmPlatformStackSetSecondary - - IMPORT ArmPlatformIsPrimaryCore - IMPORT ArmPlatformGetCorePosition - IMPORT ArmPlatformGetPrimaryCoreMpId - - IMPORT _gPcd_FixedAtBuild_PcdCoreCount - - PRESERVE8 - AREA ArmPlatformStackLib, CODE, READONLY - -//VOID -//ArmPlatformStackSet ( -// IN UINTN StackBase, -// IN UINTN MpId, -// IN UINTN PrimaryStackSize, -// IN UINTN SecondaryStackSize -// ); -ArmPlatformStackSet FUNCTION - // Save parameters - mov r6, r3 - mov r5, r2 - mov r4, r1 - mov r3, r0 - - // Save the Link register - mov r7, lr - - // Identify Stack - mov r0, r1 - bl ArmPlatformIsPrimaryCore - cmp r0, #1 - - // Restore parameters - mov r0, r3 - mov r1, r4 - mov r2, r5 - mov r3, r6 - - // Restore the Link register - mov lr, r7 - - beq ArmPlatformStackSetPrimary - bne ArmPlatformStackSetSecondary - ENDFUNC - -//VOID -//ArmPlatformStackSetPrimary ( -// IN UINTN StackBase, -// IN UINTN MpId, -// IN UINTN PrimaryStackSize, -// IN UINTN SecondaryStackSize -// ); -ArmPlatformStackSetPrimary FUNCTION - mov r4, lr - - // Add stack of primary stack to StackBase - add r0, r0, r2 - - // Compute SecondaryCoresCount * SecondaryCoreStackSize - mov32 r1, FixedPcdGet32 (PcdCoreCount) - sub r1, #1 - mul r3, r3, r1 - - // Set Primary Stack ((StackBase + PrimaryStackSize) + (SecondaryCoresCo= unt * SecondaryCoreStackSize)) - add sp, r0, r3 - - bx r4 - ENDFUNC - -//VOID -//ArmPlatformStackSetSecondary ( -// IN UINTN StackBase, -// IN UINTN MpId, -// IN UINTN PrimaryStackSize, -// IN UINTN SecondaryStackSize -// ); -ArmPlatformStackSetSecondary FUNCTION - mov r4, lr - mov sp, r0 - - // Get Core Position - mov r0, r1 - bl ArmPlatformGetCorePosition - mov r5, r0 - - // Get Primary Core Position - bl ArmPlatformGetPrimaryCoreMpId - bl ArmPlatformGetCorePosition - - // Get Secondary Core Position. We should get consecutive secondary stac= k number from 1...(CoreCount-1) - cmp r5, r0 - subhi r5, r5, #1 - add r5, r5, #1 - - // Compute top of the secondary stack - mul r3, r3, r5 - - // Set stack - add sp, sp, r3 - - bx r4 - ENDFUNC - - END diff --git a/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib= .inf b/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf index 76f809c80d9f..dfa0e7b9e786 100644 --- a/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf +++ b/ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf @@ -21,7 +21,6 @@ ArmPlatformPkg/ArmPlatformPkg.dec =20 [Sources.ARM] - Arm/ArmPlatformStackLib.asm | RVCT Arm/ArmPlatformStackLib.S | GCC =20 [Sources.AARCH64] diff --git a/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm b/ArmPlatformPkg/P= rePeiCore/Arm/Exception.asm deleted file mode 100644 index 28d625e67af4..000000000000 --- a/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm +++ /dev/null @@ -1,83 +0,0 @@ -// -// Copyright (c) 2011, ARM Limited. All rights reserved. -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// - -#include - - IMPORT PeiCommonExceptionEntry - EXPORT PeiVectorTable - - PRESERVE8 - AREA PrePeiCoreException, CODE, READONLY, CODEALIGN, ALIGN=3D5 - -//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -//Default Exception Handlers -//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - - -PeiVectorTable - b _DefaultResetHandler - b _DefaultUndefined - b _DefaultSWI - b _DefaultPrefetchAbort - b _DefaultDataAbort - b _DefaultReserved - b _DefaultIrq - b _DefaultFiq - -// -// Default Exception handlers: There is no plan to return from any of thes= e exceptions. -// No context saving at all. -// -_DefaultResetHandler - mov r1, lr - cps #0x13 ; Switch to SVC for common stack - mov r0, #0 - blx PeiCommonExceptionEntry - -_DefaultUndefined - sub r1, LR, #4 - cps #0x13 ; Switch to SVC for common stack - mov r0, #1 - blx PeiCommonExceptionEntry - -_DefaultSWI - sub r1, LR, #4 - cps #0x13 ; Switch to SVC for common stack - mov r0, #2 - blx PeiCommonExceptionEntry - -_DefaultPrefetchAbort - sub r1, LR, #4 - cps #0x13 ; Switch to SVC for common stack - mov r0, #3 - blx PeiCommonExceptionEntry - -_DefaultDataAbort - sub r1, LR, #8 - cps #0x13 ; Switch to SVC for common stack - mov r0, #4 - blx PeiCommonExceptionEntry - -_DefaultReserved - mov r1, lr - cps #0x13 ; Switch to SVC for common stack - mov r0, #5 - blx PeiCommonExceptionEntry - -_DefaultIrq - sub r1, LR, #4 - cps #0x13 ; Switch to SVC for common stack - mov r0, #6 - blx PeiCommonExceptionEntry - -_DefaultFiq - sub r1, LR, #4 - cps #0x13 ; Switch to SVC for common stack - mov r0, #7 - blx PeiCommonExceptionEntry - - END diff --git a/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm b/ArmPl= atformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm deleted file mode 100644 index 2734b0951a09..000000000000 --- a/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm +++ /dev/null @@ -1,89 +0,0 @@ -// -// Copyright (c) 2011-2013, ARM Limited. All rights reserved. -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// - -#include - - INCLUDE AsmMacroIoLib.inc - - IMPORT CEntryPoint - IMPORT ArmPlatformGetCorePosition - IMPORT ArmPlatformIsPrimaryCore - IMPORT ArmReadMpidr - IMPORT ArmPlatformPeiBootAction - EXPORT _ModuleEntryPoint - - PRESERVE8 - AREA PrePeiCoreEntryPoint, CODE, READONLY - -StartupAddr DCD CEntryPoint - -_ModuleEntryPoint - // Do early platform specific actions - bl ArmPlatformPeiBootAction - - // Identify CPU ID - bl ArmReadMpidr - // Keep a copy of the MpId register value - mov r5, r0 - - // Is it the Primary Core ? - bl ArmPlatformIsPrimaryCore - - // Get the top of the primary stacks (and the base of the secondary stac= ks) - mov32 r1, FixedPcdGet64(PcdCPUCoresStackBase) + FixedPcdGet32(PcdCPUCore= PrimaryStackSize) - - // r0 is equal to 1 if I am the primary core - cmp r0, #1 - beq _SetupPrimaryCoreStack - -_SetupSecondaryCoreStack - // r1 contains the base of the secondary stacks - - // Get the Core Position - mov r6, r1 // Save base of the secondary stacks - mov r0, r5 - bl ArmPlatformGetCorePosition - // The stack starts at the top of the stack region. Add '1' to the Core = Position to get the top of the stack - add r0, r0, #1 - - // StackOffset =3D CorePos * StackSize - mov32 r2, FixedPcdGet32(PcdCPUCoreSecondaryStackSize) - mul r0, r0, r2 - // SP =3D StackBase + StackOffset - add sp, r6, r0 - -_PrepareArguments - // The PEI Core Entry Point has been computed by GenFV and stored in the= second entry of the Reset Vector - mov32 r2, FixedPcdGet32(PcdFvBaseAddress) - ldr r1, [r2, #4] - - // Move sec startup address into a data register - // Ensure we're jumping to FV version of the code (not boot remapped ali= as) - ldr r3, StartupAddr - - // Jump to PrePeiCore C code - // r0 =3D mp_id - // r1 =3D pei_core_address - mov r0, r5 - blx r3 - -_SetupPrimaryCoreStack - mov sp, r1 - mov32 r8, FixedPcdGet64 (PcdCPUCoresStackBase) - mov32 r9, FixedPcdGet32 (PcdInitValueInTempStack) - mov r10, r9 - mov r11, r9 - mov r12, r9 -0:stm r8!, {r9-r12} - cmp r8, r1 - blt 0b - b _PrepareArguments - -_NeverReturn - b _NeverReturn - - END diff --git a/ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm b/ArmPlatformPkg= /PrePeiCore/Arm/SwitchStack.asm deleted file mode 100644 index 65f64805a04a..000000000000 --- a/ArmPlatformPkg/PrePeiCore/Arm/SwitchStack.asm +++ /dev/null @@ -1,32 +0,0 @@ -;-------------------------------------------------------------------------= ----- -; -; Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
-; Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
-; SPDX-License-Identifier: BSD-2-Clause-Patent -; -;-------------------------------------------------------------------------= ----- - - EXPORT SecSwitchStack - - AREA Switch_Stack, CODE, READONLY - -;/** -; This allows the caller to switch the stack and return -; -; @param StackDelta Signed amount by which to modify the stack po= inter -; -; @return Nothing. Goes to the Entry Point passing in the new paramete= rs -; -;**/ -;VOID -;EFIAPI -;SecSwitchStack ( -; VOID *StackDelta -; ); -; -SecSwitchStack - MOV R1, SP - ADD R1, R0, R1 - MOV SP, R1 - BX LR - END diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPk= g/PrePeiCore/PrePeiCoreMPCore.inf index fb01dd1a113e..a5b4722459d1 100644 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf @@ -21,11 +21,8 @@ =20 [Sources.ARM] Arm/ArchPrePeiCore.c - Arm/PrePeiCoreEntryPoint.asm | RVCT Arm/PrePeiCoreEntryPoint.S | GCC - Arm/SwitchStack.asm | RVCT Arm/SwitchStack.S | GCC - Arm/Exception.asm | RVCT Arm/Exception.S | GCC =20 [Sources.AARCH64] diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformP= kg/PrePeiCore/PrePeiCoreUniCore.inf index e9eb092d3ac9..466a2b01c384 100644 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf @@ -21,11 +21,8 @@ =20 [Sources.ARM] Arm/ArchPrePeiCore.c - Arm/PrePeiCoreEntryPoint.asm | RVCT Arm/PrePeiCoreEntryPoint.S | GCC - Arm/SwitchStack.asm | RVCT Arm/SwitchStack.S | GCC - Arm/Exception.asm | RVCT Arm/Exception.S | GCC =20 [Sources.AARCH64] diff --git a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm b/ArmPlatformPkg= /PrePi/Arm/ModuleEntryPoint.asm deleted file mode 100644 index eaba90cc3d7c..000000000000 --- a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm +++ /dev/null @@ -1,142 +0,0 @@ -// -// Copyright (c) 2011 - 2020, Arm Limited. All rights reserved.
-// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// - -#include -#include - - INCLUDE AsmMacroIoLib.inc - - IMPORT CEntryPoint - IMPORT ArmPlatformIsPrimaryCore - IMPORT ArmReadMpidr - IMPORT ArmPlatformPeiBootAction - IMPORT ArmPlatformStackSet - IMPORT mSystemMemoryEnd - - EXPORT _ModuleEntryPoint - - PRESERVE8 - AREA PrePiCoreEntryPoint, CODE, READONLY - -StartupAddr DCD CEntryPoint - -_ModuleEntryPoint - // Do early platform specific actions - bl ArmPlatformPeiBootAction - - // Get ID of this CPU in multi-core system - bl ArmReadMpidr - // Keep a copy of the MpId register value - mov r8, r0 - -_SetSVCMode - // Enter SVC mode, Disable FIQ and IRQ - mov r1, #(CPSR_MODE_SVC :OR: CPSR_IRQ :OR: CPSR_FIQ) - msr CPSR_c, r1 - -// Check if we can install the stack at the top of the System Memory or if= we need -// to install the stacks at the bottom of the Firmware Device (case the FD= is located -// at the top of the DRAM) -_SystemMemoryEndInit - adrll r1, mSystemMemoryEnd - ldrd r2, r3, [r1] - teq r3, #0 - moveq r1, r2 - mvnne r1, #0 - -_SetupStackPosition - // r1 =3D SystemMemoryTop - - // Calculate Top of the Firmware Device - mov32 r2, FixedPcdGet32(PcdFdBaseAddress) - mov32 r3, FixedPcdGet32(PcdFdSize) - sub r3, r3, #1 - add r3, r3, r2 // r3 =3D FdTop =3D PcdFdBaseAddress + PcdFdSize - - // UEFI Memory Size (stacks are allocated in this region) - mov32 r4, FixedPcdGet32(PcdSystemMemoryUefiRegionSize) - - // - // Reserve the memory for the UEFI region (contain stacks on its top) - // - - // Calculate how much space there is between the top of the Firmware and= the Top of the System Memory - subs r0, r1, r3 // r0 =3D SystemMemoryTop - FdTop - bmi _SetupStack // Jump if negative (FdTop > SystemMemoryTop). Cas= e when the PrePi is in XIP memory outside of the DRAM - cmp r0, r4 - bge _SetupStack - - // Case the top of stacks is the FdBaseAddress - mov r1, r2 - -_SetupStack - // r1 contains the top of the stack (and the UEFI Memory) - - // Because the 'push' instruction is equivalent to 'stmdb' (decrement be= fore), we need to increment - // one to the top of the stack. We check if incrementing one does not ov= erflow (case of DRAM at the - // top of the memory space) - adds r9, r1, #1 - bcs _SetupOverflowStack - -_SetupAlignedStack - mov r1, r9 - b _GetBaseUefiMemory - -_SetupOverflowStack - // Case memory at the top of the address space. Ensure the top of the st= ack is EFI_PAGE_SIZE - // aligned (4KB) - mov32 r9, EFI_PAGE_MASK - and r9, r9, r1 - sub r1, r1, r9 - -_GetBaseUefiMemory - // Calculate the Base of the UEFI Memory - sub r9, r1, r4 - -_GetStackBase - // r1 =3D The top of the Mpcore Stacks - // Stack for the primary core =3D PrimaryCoreStack - mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize) - sub r10, r1, r2 - - // Stack for the secondary core =3D Number of Cores - 1 - mov32 r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSe= condaryStackSize) - sub r10, r10, r1 - - // r10 =3D The base of the MpCore Stacks (primary stack & secondary stac= ks) - mov r0, r10 - mov r1, r8 - //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackS= ize) - mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize) - mov32 r3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize) - bl ArmPlatformStackSet - - // Is it the Primary Core ? - mov r0, r8 - bl ArmPlatformIsPrimaryCore - cmp r0, #1 - bne _PrepareArguments - -_PrepareArguments - mov r0, r8 - mov r1, r9 - mov r2, r10 - - // Move sec startup address into a data register - // Ensure we're jumping to FV version of the code (not boot remapped ali= as) - ldr r4, StartupAddr - - // Jump to PrePiCore C code - // r0 =3D MpId - // r1 =3D UefiMemoryBase - // r2 =3D StacksBase - blx r4 - -_NeverReturn - b _NeverReturn - - END diff --git a/ArmPlatformPkg/PrePi/PeiMPCore.inf b/ArmPlatformPkg/PrePi/PeiM= PCore.inf index 053f9fd9e616..a613b24c340e 100644 --- a/ArmPlatformPkg/PrePi/PeiMPCore.inf +++ b/ArmPlatformPkg/PrePi/PeiMPCore.inf @@ -22,7 +22,6 @@ [Sources.ARM] Arm/ArchPrePi.c Arm/ModuleEntryPoint.S | GCC - Arm/ModuleEntryPoint.asm | RVCT =20 [Sources.AArch64] AArch64/ArchPrePi.c diff --git a/ArmPlatformPkg/PrePi/PeiUniCore.inf b/ArmPlatformPkg/PrePi/Pei= UniCore.inf index 83a3df78ac26..b62ea3c485bd 100644 --- a/ArmPlatformPkg/PrePi/PeiUniCore.inf +++ b/ArmPlatformPkg/PrePi/PeiUniCore.inf @@ -23,7 +23,6 @@ [Sources.ARM] Arm/ArchPrePi.c Arm/ModuleEntryPoint.S | GCC - Arm/ModuleEntryPoint.asm | RVCT =20 [Sources.AArch64] AArch64/ArchPrePi.c diff --git a/ArmPlatformPkg/Scripts/Makefile b/ArmPlatformPkg/Scripts/Makef= ile index 270fc80b6ae8..baa618456413 100644 --- a/ArmPlatformPkg/Scripts/Makefile +++ b/ArmPlatformPkg/Scripts/Makefile @@ -5,10 +5,7 @@ # #*/ =20 -# Define the following variable to specify an alternative toolchain to the= one located in your PATH: -# - RVCT_TOOLS_PATH: for RVCT and RVCTLINUX toolchains - -EDK2_TOOLCHAIN ?=3D RVCTLINUX +EDK2_TOOLCHAIN ?=3D GCC5 EDK2_ARCH ?=3D ARM EDK2_BUILD ?=3D DEBUG =20 --=20 2.35.3 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89488): https://edk2.groups.io/g/devel/message/89488 Mute This Topic: https://groups.io/mt/90866284/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-