From patchwork Wed Nov 22 10:07:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 119449 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp6489369qgn; Wed, 22 Nov 2017 02:08:00 -0800 (PST) X-Google-Smtp-Source: AGs4zMbLBh5B00mUULgShJSR07QMSdCG7pg8jJnWOqziqnVbiqLhEjcxVEgQ8VxknkZomWWorFyA X-Received: by 10.159.197.67 with SMTP id d3mr20850776plo.409.1511345280313; Wed, 22 Nov 2017 02:08:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511345280; cv=none; d=google.com; s=arc-20160816; b=bvPmwEmZyA7jQO1bwRRX+sgmkG2JANFc0O/MC3t0cAiTxpWLu9FagCfeDJMHzXBNyr ZhpdibQX2BHaeaUWKRi84Ow/1lRVImD6vPNkDcLPTWXLsUmTLVvOzG4lTDdIyvp41QSF SR/JBDVklzDV51e626sXFFujOXBJ3s5+KSu4anNeKMFnjyNph0/8aJZyfD5JH2Tb/kEn LP656YA37TGA83lxxEniWUuAz5CCTC+gEmUGRakAEXUXUbm60i7FLkbSb+bIq5N+T6Mt awQPw5WhX8Un9NM6jneyR1cJFKnlLqF7Kh7eoCnOjtNbh8EoH7pyfp3Gs/Toqn1yWRAi s8Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=j52vPsfZUt1CUKfBrL+2Z60ujIduXSQjYkUBVafcuP0=; b=niSavMTVEKfv7Y7wx7HCM8rCm06PkwNGpnQHo9Tu6FE7fzCDSGDG3i8SmJ0o5c7Thr l6omH4HjpO2WFghBhm/xX9jo77RHWbD39beAGvW1P6n0+MbG7S4FbFlAsktb5Ojk5NU+ MOVAzV7e3E5SeHdZqk7h59HFjEcELyc96C20HtBJvXA0pd/I2lnKG/K+PqntFRN87yqx Uc+Ki1ce6tWJju7mkBr8YEhPmB3JOuY6j6CKJ0eqSpGlTfWLnnRQ/c01fdgbBj+9xLtD XCEYQhOnIdXVs+eOJPa9Da/GXvOv/OCzSGGUtZg+3FlHavKgLx1B3N6mJDL+lThMnNAi ufZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=kN0ISdKY; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id y8si12772890pln.146.2017.11.22.02.08.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Nov 2017 02:08:00 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=kN0ISdKY; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 8452C220C161C; Wed, 22 Nov 2017 02:03:36 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c09::241; helo=mail-wm0-x241.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 55CDC220C1600 for ; Wed, 22 Nov 2017 02:03:34 -0800 (PST) Received: by mail-wm0-x241.google.com with SMTP id l188so7315852wma.1 for ; Wed, 22 Nov 2017 02:07:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fdFwKTgdxEvMIHZYz0Fu19cFQUyZ8VcIqedyLDlmr8g=; b=kN0ISdKY5wyG2Sz9s2jlQKxyAtya6oOOtPfvPyr7lUY6HxV1nOGXbjx0rkGsZv/6oY bXjmy1fCUARySdJeiCWxpEKEGRYxB0i2RWWrDvXuy35la5l7B7Tz/KljYNA6i52W73bj uKoYeU4rvMqdIGwyKwjG0Rt2SShql1GlbnNZI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fdFwKTgdxEvMIHZYz0Fu19cFQUyZ8VcIqedyLDlmr8g=; b=ZsIe0kcXN/O84RH6fLvdWLufxpFvUttePWss2QY49rM80zD5BgTvcaWXXCo88KpZcx fZ5Ri2HQHf6FIiNeLrnYaL7RKjab0p5IaQ0vZOoYHITtADUTomTa+lQ4fHgZvrqJeAuH SfGiyHbYYfm5aXljsAxcUEUQzw6Y4OKqWRTFZkYnb73mit6+2MCTLGs+XKbb1R/ouSen +WmoLdT9Bd/yOYgHFMFdL/VQgOGWFQe1ngUIKsxRfwI5lmWqEaeOj3oI3unJ8NwL2RPa H7b9hsFg+iWxbQKh32sXp5U/0jB12skJlDb6ZnA+cX3n1qbSbt/h6qwqTbmjIdwTYkgt ZY1A== X-Gm-Message-State: AJaThX5zq/k5A6onrf7hyourAlJHb2ZrQL6aWvbNcxOl7S/RYURqLlC5 QwlMGbt0Cz9ahjJssCjw15wNBOb1V9w= X-Received: by 10.28.211.213 with SMTP id k204mr3311007wmg.68.1511345268996; Wed, 22 Nov 2017 02:07:48 -0800 (PST) Received: from localhost.localdomain ([154.145.25.106]) by smtp.gmail.com with ESMTPSA id i192sm2761457wmf.46.2017.11.22.02.07.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Nov 2017 02:07:48 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org, lersek@redhat.com Date: Wed, 22 Nov 2017 10:07:23 +0000 Message-Id: <20171122100731.24525-7-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171122100731.24525-1-ard.biesheuvel@linaro.org> References: <20171122100731.24525-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 06/14] ArmVirtPkg/PrePi: remove ArmPlatformStackLib dependency X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" ArmPlatformStackLib has hooks into primary/secondary core PCDs and other ArmPlatformLib related junk, so let's simply set the stack pointer directly. This is trivial given that our PrePi is unicore only. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel Acked-by: Laszlo Ersek --- ArmVirtPkg/ArmVirt.dsc.inc | 1 - ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S | 14 ++------------ ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S | 14 ++------------ ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf | 1 - 4 files changed, 4 insertions(+), 26 deletions(-) -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index 50eb8675d1c0..5d7edff104b5 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -93,7 +93,6 @@ [LibraryClasses.common] ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf ArmGicArchLib|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf - ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S index 3296aedfe9aa..891cf1fcab40 100644 --- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S @@ -111,22 +111,12 @@ _GetBaseUefiMemory: _GetStackBase: // r1 = The top of the Mpcore Stacks + mov sp, x1 + // Stack for the primary core = PrimaryCoreStack MOV32 (x2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)) sub x22, x1, x2 - // Stack for the secondary core = Number of Cores - 1 - MOV32 (x1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize)) - sub x22, x22, x1 - - // x22 = The base of the MpCore Stacks (primary stack & secondary stacks) - mov x0, x22 - mov x1, x20 - //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize) - MOV32 (x2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)) - MOV32 (x3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize)) - bl ASM_PFX(ArmPlatformStackSet) - mov x0, x20 mov x1, x21 mov x2, x22 diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S index a918c191432e..ced08593e9de 100644 --- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S @@ -120,22 +120,12 @@ _GetBaseUefiMemory: _GetStackBase: // r1 = The top of the Mpcore Stacks + mov sp, r1 + // Stack for the primary core = PrimaryCoreStack MOV32 (r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)) sub r9, r1, r2 - // Stack for the secondary core = Number of Cores - 1 - MOV32 (r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize)) - sub r9, r9, r1 - - // r9 = The base of the MpCore Stacks (primary stack & secondary stacks) - mov r0, r9 - mov r1, r10 - //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize) - MOV32 (r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)) - MOV32 (r3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize)) - bl ASM_PFX(ArmPlatformStackSet) - mov r0, r10 mov r1, r11 mov r2, r9 diff --git a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf index e816e9583da8..ae9a088c7256 100755 --- a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf +++ b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf @@ -54,7 +54,6 @@ [LibraryClasses] LzmaDecompressLib PeCoffGetEntryPointLib PrePiLib - ArmPlatformStackLib MemoryAllocationLib HobLib PrePiHobListPointerLib