Message ID | 20181116225558.27720-3-ard.biesheuvel@linaro.org |
---|---|
State | Accepted |
Commit | 81c6f1dfbac18d6469686f99ee0d9fb944de0350 |
Headers | show
Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp992483ljp; Fri, 16 Nov 2018 14:56:11 -0800 (PST) X-Google-Smtp-Source: AJdET5fgh/8BHK2d+EPkhgvRJBE3gfzb3LZRJ1DJRDwHrOAOwpf2pfoPln07lv8BZdruSvBkknio X-Received: by 2002:aa7:8254:: with SMTP id e20-v6mr13246201pfn.164.1542408971746; Fri, 16 Nov 2018 14:56:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542408971; cv=none; d=google.com; s=arc-20160816; b=hdLa87UdlVyGV5pwRVlozQpkTO6P/LgHj5J904g8nwGiDbWt5KHg3gs5eC3/Zjmcox e6XvT2QVBcLh93UynXsBBPBmukEJI+5jxE0CKFgaN/VVO/5GF5vD3WspaYp98r+oliJe hHblbHWTIjY+m79hhdVCEAhdLU4z4KtT4+c4mcRoDiqvzG9kJi07s+YMVQMuua0HMOO5 GIHT4XNovDICSa7H/rWlYpC5tgu8pbyLBkAjhNXO/x/K7A7Js1b8HPtogDPyp7x6QJmP socTGjCm6zG4sNZl1VR6+gxbHZgziodhE3hYkYpQWa4GwFGh/GJQyqJmTYzRrcbBkFTA xQyA== 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; bh=dyNWmMejO/wjdxUlL3zwRz9IMhh04U90WrHv5AKxFuY=; b=RMN9esuJ/++ts4+LD4f0DrA9v12SOqgWna5TZI7FoTeShvFWX7EPWxE/X8qJBjIqDl XrxD3iqA0USNhXphYi5VvLeanvgAdm5DpMR/w+Re5bkpMc7DPV/aFOmRlUN5uRxopXuQ fpxaBuaS0L6TjsiwFn3OM8H4sPVq+kpWpc12lTZmn4kPIVYJnCAPA4TLx4EG+FPisepP eqH/fhrnT3eg0kmW34CruSYcsiRrmXjs1kpdXnGW9TrRKLJgbdDAcZBMZotydlvRhbLD Ty8A2qG1dJFB5T6I4gL8sAz9RSlH7NyB2WxSkQ27bznGDd8wCJKVkqCGpE3WNNMXlSuv Ou5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=C14g9E4N; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 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: <edk2-devel-bounces@lists.01.org> Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id m12-v6si22749687pfi.286.2018.11.16.14.56.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Nov 2018 14:56:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=C14g9E4N; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 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 744EC2119175D; Fri, 16 Nov 2018 14:56:08 -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=2607:f8b0:4864:20::543; helo=mail-pg1-x543.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) (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 E56082119173B for <edk2-devel@lists.01.org>; Fri, 16 Nov 2018 14:56:06 -0800 (PST) Received: by mail-pg1-x543.google.com with SMTP id v28so707396pgk.10 for <edk2-devel@lists.01.org>; Fri, 16 Nov 2018 14:56:06 -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=zJT5TTpHNqpk1frJTVhczwwfwv06AyYLP6q1lJXOKMA=; b=C14g9E4Nzr9k9Qqccdtxoh2aQId0KPiiwyrbxGIpDUZd5Yl8mU2ptXcGO3hKt84dPc 1Ofn6Mbk6GtCynNpWaPrVFRbPlrFaILuSE924bVs/1FghRSs44BXgL9fhmtR4G7ZcLVw JYPGanJ6KU2zmUvJ5k+eEZY9Xs5NXW4EhaX+s= 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=zJT5TTpHNqpk1frJTVhczwwfwv06AyYLP6q1lJXOKMA=; b=VpMC5mFxnjJk627or6NHcruCH7Y68oCOkfV6yBFIe0B87yqxcdqXpehTA7Ulu3T94I 2bPbqax8rKUq3o227IMhqQy1DBWX8In8HoV0n5uiA/EuZ0XPPb7EwkT8HwI3A5VDnbQR g7O0HMdK5+a+IoRrZPRiU0tog3aKvoeFh1EhQRgPgUJm8IVrsZwXL3DUe23Gi/uzXthU ixb3uii6ARLavAcPSCOew03qSads5mgu3LumzcDCOaLY7FC0mgEzGRYskHwvbeeS3R1Q 6Nf4NoTW4rGw7dEvCH7B5i7k91vyQDfGRz0/s1d8aph0VyWuqc3xsVoErhrJRjZmP0Yu VCiA== X-Gm-Message-State: AGRZ1gKFvlkFZYnAxQ5skynP3i17lVyaB1s3OxStHjv6HkfJ0ag4G42d OFHoUFCXd6JeAZtOzxw8IoQjCeM82AfT8w== X-Received: by 2002:a62:81c1:: with SMTP id t184mr6060789pfd.246.1542408966352; Fri, 16 Nov 2018 14:56:06 -0800 (PST) Received: from mba13.psav.com ([64.114.255.114]) by smtp.gmail.com with ESMTPSA id r6sm41670483pgk.91.2018.11.16.14.56.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Nov 2018 14:56:05 -0800 (PST) From: Ard Biesheuvel <ard.biesheuvel@linaro.org> To: edk2-devel@lists.01.org Date: Fri, 16 Nov 2018 14:55:58 -0800 Message-Id: <20181116225558.27720-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181116225558.27720-1-ard.biesheuvel@linaro.org> References: <20181116225558.27720-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH 2/2] ArmVirtPkg/PrePi: clear frame pointer in startup code X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development <edk2-devel.lists.01.org> List-Unsubscribe: <https://lists.01.org/mailman/options/edk2-devel>, <mailto:edk2-devel-request@lists.01.org?subject=unsubscribe> List-Archive: <http://lists.01.org/pipermail/edk2-devel/> List-Post: <mailto:edk2-devel@lists.01.org> List-Help: <mailto:edk2-devel-request@lists.01.org?subject=help> List-Subscribe: <https://lists.01.org/mailman/listinfo/edk2-devel>, <mailto:edk2-devel-request@lists.01.org?subject=subscribe> Cc: lersek@redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" <edk2-devel-bounces@lists.01.org> |
Series |
Clear frame pointer in startup code on AARCH64 systems
|
expand
|
diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S index 891cf1fcab40..86b9fbee6e67 100644 --- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S @@ -121,6 +121,9 @@ _GetStackBase: mov x1, x21 mov x2, x22 + // Set the frame pointer to 0x0 so any backtraces terminate here + mov x29, xzr + // Jump to PrePiCore C code // x0 = MpId // x1 = UefiMemoryBase
When setting up the stack in the startup code and jumping into C code for the first time, ensure that the frame pointer register is cleared so that backtraces terminate correctly. Otherwise, output like the below is shown when encountering an exception on a DEBUG build: Synchronous Exception at 0x0000000078A14780 PC 0x000078A14780 (0x000078A00000+0x00014780) [ 0] ArmVeNorFlashDxe.dll PC 0x000078A10634 (0x000078A00000+0x00010634) [ 0] ArmVeNorFlashDxe.dll PC 0x000078A11CF0 (0x000078A00000+0x00011CF0) [ 0] ArmVeNorFlashDxe.dll PC 0x000078A11DD0 (0x000078A00000+0x00011DD0) [ 0] ArmVeNorFlashDxe.dll PC 0x00007BC9D87C (0x00007BC98000+0x0000587C) [ 1] PartitionDxe.dll PC 0x00007BC99B3C (0x00007BC98000+0x00001B3C) [ 1] PartitionDxe.dll PC 0x00007F362F50 (0x00007F359000+0x00009F50) [ 2] DxeCore.dll PC 0x00007BD63BB0 (0x00007BD5B000+0x00008BB0) [ 3] BdsDxe.dll PC 0x00007BD6EE00 (0x00007BD5B000+0x00013E00) [ 3] BdsDxe.dll PC 0x00007BD67C70 (0x00007BD5B000+0x0000CC70) [ 3] BdsDxe.dll PC 0x00007F3724F0 (0x00007F359000+0x000194F0) [ 4] DxeCore.dll PC 0x00004008FC30 PC 0x000040090130 PC 0x5800F6025800F5E1 Recursive exception occurred while dumping the CPU state which is rather unhelpful, given that this prevent the remaining debug output from being printed (register dump, stack dump, fault related system registers etc) Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S | 3 +++ 1 file changed, 3 insertions(+) -- 2.17.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel