From mboxrd@z Thu Jan 1 00:00:00 1970 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 Authentication-Results: mx.groups.io; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=DpvA7fcO; spf=pass (domain: quicinc.com, ip: 199.106.114.38, mailfrom: quic_rcran@quicinc.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651603722; x=1683139722; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xKtujhL5ZO8TwuatWtFxfH7iOAKO0RYmt6cZZx71GPs=; b=DpvA7fcOr0yJ9T9ZEXwZkHS+V23CePHYx0m7hBqjh/xiFRpBRU0m3Sh/ gSzhbokLmYGFJkSA8wxLscVNLepZL2UkZppqfdwEP9txovQaoBBykPXau 1E3xkPeeYRZYFlUgXIvLLA01pbPOL1zhWlp7YOzG4X8dnT4VuC09tlaCD g=; 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 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 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 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: [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> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20220503184820.19312-1-quic_rcran@quicinc.com> References: <20220503184820.19312-1-quic_rcran@quicinc.com> MIME-Version: 1.0 Return-Path: quic_rcran@quicinc.com 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) Content-Transfer-Encoding: 8bit Content-Type: text/plain 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 | 118 ---------------- 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 | 142 -------------------- 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/ArmPlatformHelper.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.inf 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 @@ [Sources.Arm] Arm/ArmPlatformHelper.S | GCC - Arm/ArmPlatformHelper.asm | RVCT [Sources.AArch64] AArch64/ArmPlatformHelper.S diff --git a/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.asm b/ArmPlatformPkg/Library/ArmPlatformStackLib/Arm/ArmPlatformStackLib.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) + (SecondaryCoresCount * 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 stack 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 [Sources.ARM] - Arm/ArmPlatformStackLib.asm | RVCT Arm/ArmPlatformStackLib.S | GCC [Sources.AARCH64] diff --git a/ArmPlatformPkg/PrePeiCore/Arm/Exception.asm b/ArmPlatformPkg/PrePeiCore/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=5 - -//============================================================ -//Default Exception Handlers -//============================================================ - - -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 these 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/ArmPlatformPkg/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 stacks) - mov32 r1, FixedPcdGet64(PcdCPUCoresStackBase) + FixedPcdGet32(PcdCPUCorePrimaryStackSize) - - // 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 = CorePos * StackSize - mov32 r2, FixedPcdGet32(PcdCPUCoreSecondaryStackSize) - mul r0, r0, r2 - // SP = 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 alias) - ldr r3, StartupAddr - - // Jump to PrePeiCore C code - // r0 = mp_id - // r1 = 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 pointer -; -; @return Nothing. Goes to the Entry Point passing in the new parameters -; -;**/ -;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/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf index fb01dd1a113e..a5b4722459d1 100644 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf @@ -21,11 +21,8 @@ [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 [Sources.AARCH64] diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf index e9eb092d3ac9..466a2b01c384 100644 --- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf @@ -21,11 +21,8 @@ [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 [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 = SystemMemoryTop - - // Calculate Top of the Firmware Device - mov32 r2, FixedPcdGet32(PcdFdBaseAddress) - mov32 r3, FixedPcdGet32(PcdFdSize) - sub r3, r3, #1 - add r3, r3, r2 // r3 = FdTop = 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 = SystemMemoryTop - FdTop - bmi _SetupStack // Jump if negative (FdTop > SystemMemoryTop). Case 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 before), we need to increment - // one to the top of the stack. We check if incrementing one does not overflow (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 stack 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 = The top of the Mpcore Stacks - // Stack for the primary core = PrimaryCoreStack - mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize) - sub r10, r1, r2 - - // Stack for the secondary core = Number of Cores - 1 - mov32 r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize) - sub r10, r10, r1 - - // r10 = The base of the MpCore Stacks (primary stack & secondary stacks) - mov r0, r10 - mov r1, r8 - //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize) - 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 alias) - ldr r4, StartupAddr - - // Jump to PrePiCore C code - // r0 = MpId - // r1 = UefiMemoryBase - // r2 = StacksBase - blx r4 - -_NeverReturn - b _NeverReturn - - END diff --git a/ArmPlatformPkg/PrePi/PeiMPCore.inf b/ArmPlatformPkg/PrePi/PeiMPCore.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 [Sources.AArch64] AArch64/ArchPrePi.c diff --git a/ArmPlatformPkg/PrePi/PeiUniCore.inf b/ArmPlatformPkg/PrePi/PeiUniCore.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 [Sources.AArch64] AArch64/ArchPrePi.c diff --git a/ArmPlatformPkg/Scripts/Makefile b/ArmPlatformPkg/Scripts/Makefile index 270fc80b6ae8..baa618456413 100644 --- a/ArmPlatformPkg/Scripts/Makefile +++ b/ArmPlatformPkg/Scripts/Makefile @@ -5,10 +5,7 @@ # #*/ -# 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 ?= RVCTLINUX +EDK2_TOOLCHAIN ?= GCC5 EDK2_ARCH ?= ARM EDK2_BUILD ?= DEBUG -- 2.35.3