From patchwork Wed May 27 18:04:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1299148 X-Patchwork-Delegate: xypron.glpk@gmx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=Ie/9emLk; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49XJdR72CGz9sSW for ; Thu, 28 May 2020 04:04:59 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D35448168B; Wed, 27 May 2020 20:04:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="Ie/9emLk"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EC9A08168B; Wed, 27 May 2020 20:04:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 22F60815FB for ; Wed, 27 May 2020 20:04:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1590602677; bh=nRM44huyZ0O6lHx2bX0xKk73luZtWYlfYGKT3BbGCiY=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Ie/9emLkiy3ms/D6QAkzlUeqA9zHwVm6+Oq9eyz4mPDF+jtNLL7YdcemIulODGUXB uvOXIg32FObn8Kv48t6lSSzxXApIbMWUdzIBfiSfznUPe7ElGAt8l39HzKO+9B6aAt WechdsJxHcrpXCF4zwFrBQXUQ9YA5GVRyLxLMSDM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation4.fritz.box ([88.152.145.75]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N8GQs-1j0K171O6a-01492j; Wed, 27 May 2020 20:04:37 +0200 From: Heinrich Schuchardt To: Tom Rini Cc: Alexander Graf , Simon Glass , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 1/4] efi_loader: allow compiling with clang Date: Wed, 27 May 2020 20:04:21 +0200 Message-Id: <20200527180424.39395-2-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200527180424.39395-1-xypron.glpk@gmx.de> References: <20200527180424.39395-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:fPsAjAqi+CYMejIXkOm4Ztv9Rhz9PCTiixpT4r/woSKDzU4MdUS lDxSle3PyjjEBUd8/n0XFhORbE/PnQzrYipu5IkBwELR+kxpbCb1Vn13hc2l5zLGpodT3h9 G0AxSzOaZHbaGhRrG0tnIoJQh+Q5mvZhipO80qFru9DHdr/fL9s8ufgScemhovKrMhsJwVb V4gn8wSI3Ok80YxB1bx5Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:DKR2qb1E8M8=:5eiOmCoq62dEEjZk0S1gYF AJdprw5rWbdPZl0tgsbm8FsbZgri04ymR/Z35WzoSmZSSJwPienynPnBF8MDkfSmpUQ7FFZln 2+f7rSCNiWt+nlTwp7jTItjjUXnFrm+H2J9ME7afC2ePuv/lKN0V7RDobwDj50hXuz+rRXaZc M4yq2lyqcKSrj2+iv3o4SvOSTiazNPmZp04CBhxieqRmf18nMh7JlOXd31rl+UsYJJ7CSZ02O Y9oMEt80gWoqu5NKrJahB1qNi/3YTyW4m5mStoz0JE2M3Ct35M6Kc4tDY8UCDxL2lOY7htuh5 ehGH4KKz15F4YmNHUMkwc6sOPh6kedgyGMFDRPh+gLCwDSIoydZCrF6shTYGq2brVBjLsyDIP u5CxVkGwIPpY2dCYDR6HUQhawJ0Ju3ce9Gpvnxwfx7Qij7BNFKTmD0Rx1mMfCMGahg4d/u0b5 t2WGzuumNWtt4rvSq+MdjleoIiNtr5ILni/gJMCQWAxPEgnHkVDC0VckdBXRVuswqQtmtlEoD HNRtf5UCE3E6C7WCS9GNje8zRqmFcj1Hd0FdemEyCFNL6VxtMCoAH6PCLhaIIMVq/CzfjiNLg 9GngVEb+4lPHavRTElzW9Chydgqd/J2QHXQcv6DjBc+Hl7Yblytdfu6l7+OA18yWQ8O7N0Obf l6xKPRx03jHxcPE6SWdIdYTCVQNgg0pi93XClB8zixDBzLKDV76VtOK+Yxnt8vMiR0vAEoGjB OHTs2OYfNa4hwVD3EAuMnklSZmuMLTxrqcv4Qgfke49YsXl5zkEzso8xhAeyEfcnVoSo8ntn0 mPLp4+1Oef2mvRPRWnRqkr/ZWrmic4EY92YEsfybXujNDWV/CZ2MT2u8ldALy89+cdbF6OD6Y 21FijBR8VsRPvd5WNaCNsOkcsYvk4EN7+B7x4DxjDOC1gxcTpxdKi//KfPQ5IeTXnXXmj/4tK wRcTlJ69B6U9O8166rgWdgFucNDb2GXvRjfPbFwRIH1TKuRTEBCr0cMOY0LPSdQpYFk1RK90E K+hWlodrxVUrNZLtPg8QnVICWAHrtr4qAexa12AUk8r8pFNS92/zdZdNIwFMlX+8Fhmz/tBE5 /S1nMy0fPhQpywRueNS+IKjy+9GNoI/cI5OBzwzvx8g2JSlgPN2jiqZAsJsM+FUqdhJ01sz1y zg2Pf+8wwAjaWFpkrp/cU/2whQwnateXNUjLdC4oPzpU0czY9HJ0ky+QS9rKbmk2/I5hfrcWR EVZ4OlAUjObgNuqvv X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean On ARM systems gd is stored in register r9 or x18. When compiling with clang gd is defined as a macro calling function gd_ptr(). So we can not make assignments to gd. In the UEFI sub-system we need to save gd when leaving to UEFI binaries and have to restore gd when reentering U-Boot. Define a new function set_gd() for setting gd and use it in the UEFI sub-system. Signed-off-by: Heinrich Schuchardt Tested-by: Tom Rini Reviewed-by: Simon Glass --- Resent. --- arch/arm/include/asm/global_data.h | 9 +++++++++ lib/efi_loader/efi_boottime.c | 10 +++++----- 2 files changed, 14 insertions(+), 5 deletions(-) -- 2.26.2 diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index f23b6bfb75..7c0905d240 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -117,4 +117,13 @@ static inline gd_t *get_gd(void) #endif #endif +static inline void set_gd(volatile gd_t *gd_ptr) +{ +#ifdef CONFIG_ARM64 + __asm__ volatile("ldr x18, %0\n" : : "m"(gd_ptr)); +#else + __asm__ volatile("ldr r9, %0\n" : : "m"(gd_ptr)); +#endif +} + #endif /* __ASM_GBL_DATA_H */ diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index db34938196..1591ad8300 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -49,7 +49,7 @@ static efi_handle_t current_image; * restriction so we need to manually swap its and our view of that register on * EFI callback entry/exit. */ -static volatile void *efi_gd, *app_gd; +static volatile gd_t *efi_gd, *app_gd; #endif /* 1 if inside U-Boot code, 0 if inside EFI payload code */ @@ -89,7 +89,7 @@ int __efi_entry_check(void) #ifdef CONFIG_ARM assert(efi_gd); app_gd = gd; - gd = efi_gd; + set_gd(efi_gd); #endif return ret; } @@ -99,7 +99,7 @@ int __efi_exit_check(void) { int ret = --entry_count == 0; #ifdef CONFIG_ARM - gd = app_gd; + set_gd(app_gd); #endif return ret; } @@ -123,7 +123,7 @@ void efi_restore_gd(void) /* Only restore if we're already in EFI context */ if (!efi_gd) return; - gd = efi_gd; + set_gd(efi_gd); #endif } @@ -2920,7 +2920,7 @@ efi_status_t EFIAPI efi_start_image(efi_handle_t image_handle, * otherwise __efi_entry_check() will put the wrong value into * app_gd. */ - gd = app_gd; + set_gd(app_gd); #endif /* * To get ready to call EFI_EXIT below we have to execute the From patchwork Wed May 27 18:04:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1299151 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=HPT9bpXn; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49XJf75qNkz9sSW for ; Thu, 28 May 2020 04:05:35 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1FF0581D4D; Wed, 27 May 2020 20:04:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="HPT9bpXn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 860C081C5F; Wed, 27 May 2020 20:04:46 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 36BEB8160C for ; Wed, 27 May 2020 20:04:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1590602677; bh=mHKw55iXz1IyIrEOJ82byAJSEwDLt6f8d9ADxqtCi48=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=HPT9bpXnRVEr96YeeC6MlWiCzbTOmthtR1pPxJ8zbarRNUTnwVvilerB7KNZ1tNv1 gmtNFtcaUraXSmYKJ0NihItoEuM3I8lYdDa7Sz/WaBGmcD1NVUqjHuz8WNCHhdtqEg AWsgOZLT1bsUNkHHPofXjNSRxaKkAY5jXpcFLPLI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation4.fritz.box ([88.152.145.75]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MFbW0-1jnKbT2TvC-00H7el; Wed, 27 May 2020 20:04:37 +0200 From: Heinrich Schuchardt To: Tom Rini Cc: Alexander Graf , Simon Glass , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 2/4] trace: clang compatible handling of gd register Date: Wed, 27 May 2020 20:04:22 +0200 Message-Id: <20200527180424.39395-3-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200527180424.39395-1-xypron.glpk@gmx.de> References: <20200527180424.39395-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:rtTbRlMRJ6BKvPK9Qk2VrxaZtnduZ0KppIMJlI3Qtrsxqgk393R b/TbtWq7xZI0Ih0PDWr98rGrMdUBqs9+sjVBsrGowoztA9tnpLqXyL4Rh6CddLq3q7cge3v lZHnVR+/J1zmWMyTGmkHdMRhp+o+TdDFbsBY/sTVHFj/3Td9Bzm+mdmttq3y0A/iCrXeWOy 2V6ht1EGT7YnqDNCAfGjQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:R+WlTnW7E9U=:zcgMc0/4/Q1vspySlP+AWa 4l+GwobnbjPAozAOl9vupEmzdNC01L2ai5jhhEAUPk7iRt10tM9KcbyP2lIRT8eZ6yi5Bg5Xl cOnddxdkxHc70jrh3wsrVnR//rxmYDOcb6rxxzMezDFMhPLI1tO/J2DQd1onldbKJvC22Okbr bs7cxVzGlClz/c9xRcfLGzBIB/AKp7X6ycdIRgGyieta19lOAX6RSEfNGgULDbCiVvQNfWv33 xWLp29bzF27kvFdC9CIl4v+jNZWwraimlrgIrmLxp4j77wXFSjEJYxnt0jY0P3cP85NTtNlJ/ 2gimVmWoDnepbdXXEtE22/eWrdjo+VRS9H9xy7ul8jpQ6lgQufmAioxYNNsCHfvZjnYKLg95C jUQL8hSyQMzRTEaOE2N+3r41gkrAHeIab8dyNus0Xw7frtyKLs1eHGsFCWgM2jsoA7bfnzDfT OAWCBUEJa2bA9SZvsQ9d20Qq/S1ZYEDrPDB0Rom5mpu7+hTdX7zGFVSknWBikRTmF1Lf9YkW7 Vvih4atWNFqEyHjXbHKypWAWrRHt4oo/7qSg+MezXGDRM8EgGUzAuY45N2NPEfHnqM9M313LZ HNywDsWBhjgQUAm9LDRQS3gq3CUcDeaNrDhZrfDszBO5Xjjf1T7sd8G350GINF6QONS7FMvpX NukVxUbf4RJYNwHOJ6pJhyZsyVFXNL1MzHmuN4jGVqYFSpjugYYiBYtLO21RKY437t5iboSwm k5rdboWcpAHPw7wDgLVs0tfw59qAUYiQSBDMXDF4RkKOgmUBh00Ir2F2OTwJ0wkiq5tm/sL5g cxTInyoiuQswoQl/LMRd/7O6HtzjuLMocluaw5Hsfptaa49WSBC1N0DvLNINy3sfGW80vWtOz xe82ENnIbM1frDUJKBnoex2VfTA6VukyUFMAw96hbQma32lvbEVXsatjYMk8ujz/KdhIipLkg PXH6sFm3+ifV09o/bPYnF6hdDU9lFS3Yx29uGFXG0NmJEfnKZv5BcCHE9UZK3b0cRerf2b5z8 auvbJ9Xc7CrhLrg/Al4AivmbcJ59JqTfPmIQxFILC7j+wsG8cGiCZefQYmmzfRs7k6YITFSn1 E3aF+DsZEMV2M6EPThq+E2ae0Xtm+gUxPzfXte/1SEI42HzDSrAwoY2j9v7K6ZZayWomOpAtL kpll1OArkrRxyjIyh5IApORM9JPEoBe4sf3hm7m8405aPqEHJxhYAySYI/R8N7oOQtjtbzyPD 0KGM3XFtjiqyM/r0K X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean On ARM systems gd is stored in register r9 or x18. When compiling with clang gd is defined as a macro calling function gd_ptr(). So we can not make assignments to gd. Use function set_gd() for setting the register on ARM. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- lib/trace.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.26.2 diff --git a/lib/trace.c b/lib/trace.c index ea8c8e0d40..831283c283 100644 --- a/lib/trace.c +++ b/lib/trace.c @@ -57,12 +57,12 @@ static inline uintptr_t __attribute__((no_instrument_function)) return offset / FUNC_SITE_SIZE; } -#ifdef CONFIG_EFI_LOADER +#if defined(CONFIG_EFI_LOADER) && defined(CONFIG_ARM) /** * trace_gd - the value of the gd register */ -static volatile void *trace_gd; +static volatile gd_t *trace_gd; /** * trace_save_gd() - save the value of the gd register @@ -82,10 +82,10 @@ static void __attribute__((no_instrument_function)) trace_save_gd(void) */ static void __attribute__((no_instrument_function)) trace_swap_gd(void) { - volatile void *temp_gd = trace_gd; + volatile gd_t *temp_gd = trace_gd; trace_gd = gd; - gd = temp_gd; + set_gd(temp_gd); } #else From patchwork Wed May 27 18:04:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1299147 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=Uf6bQmII; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49XJdF6KbLz9sSW for ; Thu, 28 May 2020 04:04:49 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 59D50815FB; Wed, 27 May 2020 20:04:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="Uf6bQmII"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7C882813C6; Wed, 27 May 2020 20:04:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 006C4813C6 for ; Wed, 27 May 2020 20:04:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1590602678; bh=MLMZRFaZphdbOWFO3PhY2kWZFxMLzMSJemGgUgAZO7w=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Uf6bQmIIX0KZgQ74NAq65vnzGiJKjPC3jANgNMD7YBlhDdI1iDQhV7FhcNtJsNFBk 0fv/zg7Nd5Thkhxudb9L+MH9nP1M41iKfvN32lO05PWI9vYgNYqTYg0Z8Qb9hWEUdc rAhG6mR0i6mX0wZlvlioE80XUkSj/Sg0jF6bl+dg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation4.fritz.box ([88.152.145.75]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N8XPn-1j0b003ad7-014Q1c; Wed, 27 May 2020 20:04:37 +0200 From: Heinrich Schuchardt To: Tom Rini Cc: Alexander Graf , Simon Glass , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 3/4] arm: remove outdated comment concerning -ffixed-x18 Date: Wed, 27 May 2020 20:04:23 +0200 Message-Id: <20200527180424.39395-4-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200527180424.39395-1-xypron.glpk@gmx.de> References: <20200527180424.39395-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:nRIg8P0xfonHMBq5k+nPKVDr3RDfAoVCAvX3GiCcj+N6S/ntQxm +cURFzZyUoW2QEkpPFCk/29xohnkToGu8H9H3MG6wS216zag/j6DwWGr9vH+g1LQkBar20M l8Wt/mITAfT59xxVtge8aYFsnP0xN8N5fNYjlw68eU+Skep/E5lSAKOjf9JgS94MG6IeUBK lcbmNsWnOuCf3r4VLn+aw== X-UI-Out-Filterresults: notjunk:1;V03:K0:RxyrVOEA7jk=:UZ5CYl882pHwA6MkqYlj3F pIDEx92QdS1eCk2V7lNV8GbXNwVEbJDxpa7RzdmCWys9NAOHQAWf9cpUs8qaJ/esmYcuRahMV P74uq+CI12qfMXm7QYX4dqCAk5AYSOw+72SVXkpw6xPlgzg6WvYZc/drRn76LLv8cY1BUaCH0 qaNqTPi9X8XAM+l8otE+yG/aP+XEIgrvS2P53PfY+whctuKqGC9vv1soHfn9IJRgmDAgKDhKe fBK8mqLsTHnvXPPZ3GhkIVpgitgqVt8atZm6NbTG1+jgIzlU02tl6ZP+JGMK5LTgWIVHsh8Uk RugPNTF27gVyzxXLAcTpTmmuCRauTrtwtKqzrP6iEHi/PrZX0ED7aKh+DR/xTc04fLAooCd5y q4+K+WyENwFNsic0+53QIDM9TX79FVe4Q+ABlvOeq33NfYljTKP7RfAD0JRCC82frAUvtY5BH HS1kfWiLRRNWT+DjUmmiHaUlWylOlUwal3zYRkDSikMmRE7B9+d66+UmqSf9mIzyZvSpIuLSW v7yR6iOvNXfulPsOTUdf9argDHerVNvOAjkDzJYe506REbzpUPUMpPULolckinjxW+vgU7O4/ bpLJ5UXXldUBPSHsC+Pi3KRIunU9J7b6dpWbC9D+0JFE1BjgVnnNQod555OkpsoczQUGn5MYQ rul26BEoMCKw3RQXpm/APA9PoPjlkCNDg36+FvASMKDl9KU+6e0JP3++OKjUhkaAoPAtTUPjZ vx1gZNOv92IlDsT/5RCbAd2KZ6EfVBgUdHxrLIa672Wz1i3Kl6dyQMk4s66c6ykHtgTeWu7wh qOc4eoKiol0FzXrQQuZxOwf4yOG5V/F2eNSrRLl8qgyBPwekOEkAIFCfx43WNIq4etCeRbQBW L0yQ4PXMCozaA9CHdtzeaKeRlGVxsnI6YXJwEhzJfgeWwcitbI9H764V/qAiq8QIa8+zxEkoV FsMM1VLU/l5xJk/LBGRMevpYXCNIpTWnE+esrqT2cOaT8j0bUvaqFjUX6lTL7WBysRe+MHd06 wNv01cOVBGBBP8W460WulLPGOx3kIQdu8g+MWO3tO9DuuiavqVov+t5OTseguF2cHJKx6tAbx Z58jV5kswJqx5jmZuLFqORifv9tiO1QPx3hNvz1d9pvVkwGdQ4jaVqV2fumcNVX57SyB8BNVL tujVvc3Yi6sqhQ3tzlqzdQLDYviXtO3vwa1EqvFSbyqovzWRVF2YvSmb2B/spRuICO03xEacs 6PqG5jWrjyhKI7o4D X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Clang 9 supports -ffixed-x18. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- arch/arm/include/asm/global_data.h | 4 ---- 1 file changed, 4 deletions(-) -- 2.26.2 diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 7c0905d240..2aafc6d206 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -96,10 +96,6 @@ static inline gd_t *get_gd(void) gd_t *gd_ptr; #ifdef CONFIG_ARM64 - /* - * Make will already error that reserving x18 is not supported at the - * time of writing, clang: error: unknown argument: '-ffixed-x18' - */ __asm__ volatile("mov %0, x18\n" : "=r" (gd_ptr)); #else __asm__ volatile("mov %0, r9\n" : "=r" (gd_ptr)); From patchwork Wed May 27 18:04:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1299149 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=T38ysTG9; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49XJdg5pG1z9sSW for ; Thu, 28 May 2020 04:05:11 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C0A5A81CAA; Wed, 27 May 2020 20:04:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="T38ysTG9"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 61E6681C78; Wed, 27 May 2020 20:04:45 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 512B281C5F for ; Wed, 27 May 2020 20:04:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1590602678; bh=4SUVKSDjQ0GEEIcj6p/7mPhYEjwSFcH4GrfnxD8Ykcc=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=T38ysTG956YsdywUl4uSRv7X6E+/TJCQ45CoU7t/n1FMVuhjM18EDWJ2bYbrmtvIT fx8sdlyUVO2J4+NSD2MuO2yUw/4Yx//XF94bZ0Gw212btUkTrlxjul7fjqHqeOb8aB YWm94sdFGXlv6dkfm9wA/tKQijCBMaXtpJ99KYws= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation4.fritz.box ([88.152.145.75]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MZTqW-1jY0fo0fSA-00WSeR; Wed, 27 May 2020 20:04:38 +0200 From: Heinrich Schuchardt To: Tom Rini Cc: Alexander Graf , Simon Glass , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 4/4] arm: use correct argument size of special registers Date: Wed, 27 May 2020 20:04:24 +0200 Message-Id: <20200527180424.39395-5-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200527180424.39395-1-xypron.glpk@gmx.de> References: <20200527180424.39395-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:A+hELMFQGrubxcbVEXa9XFE6PTcp1tEoS6PHPWuvol2cRpDgdTI bWQfwsG544sWnFwk20XSPs820frBzWORAIdup8K+3hgo8/vCoRIN9GXr6wHrPE1eWt9ejn/ bbQoiHMCuRVvFDcwPlZZxoiPXem8omLHawHRPA4EikCJrHVODQkqyLpyRUGMPbxi2Nu35nc s7sZLXaR0IA/N/QUIT4uQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:7ZNoSB69Xtw=:pkNoh08Byu+cOxFIlSSdjc 5wLS67180sL3oloRCBa2g18gJdGPwWQpaNBQrDWB/MAYrgQytPxky0an2p8Cj04svBtyYW/oh M4WFuNhCnHSKNiaEzFGt5L3R3zxKVH15Yc8VPl4lofTaaoUZhiVG1gtYBefnCpkll+YE/tFxp iwWS6bNYJhXMf357L1sGX7TThLTVQe4qlxM1HgwJkjZWtO8cW5QF+FO1wwwP1H8rv04j4KzSd QSUX/QSevi1WKXcmy88kyJRjew1baViQe4YxJW+nL6zA5c7RZovQmpeoPTyynrnxkkqnDPUsS xEgBUpVQtizS3nkkOkIfNrUV6eIUEejuHgkhOyJ0pGI5W+JioPf0YvYe81YK1kEJlkqRLAWom 5IQgk2P9htZBZH5+z5zf4Kc8AsYeKV7cjuoWUnWljd+fyEb/MPMnvtEdVj8mjL/KiLzpjSGB2 Ai2yr/2l2ygcXjlifkCYc8vY19CntNbchAeloZICkOArl3eH7qtRiktma5sJnlzy9vpriNLzq bwzCgVHx5gcmZp+FsER4HlnHa+ST4myElg5iize2GxBGeatyf/xT9trTQHl8Iwwfhw0bG3dtd Ol+H0W3I2B69NSvQfwscOtqf3/kebOGFuacwC8GElezK/f/0svsKK2OmQCeLGcZZ5oiq/HFgq qKxpPFOqHM7WuxDcHo1LWZMjUf46RgjtXo3FcZSZVjNlg/DSZda0c3jMZOxKXSRszMFoU7YYd lZ7j/LQ/44+1wwYsv4GSrGOmEFa7d/690yXencIOVH1ZqBote6o+qj5Qpl2T4TR+VfeJzkBsL kfw0iyfeOP4x2nxxlDD3K2RkqW2tFHK1HSh0L+VJ9ZRAWumPX+ZZF2Ms9nkrHUFA5i3EkapsB OCT7SW7dscmFOxpX8TsjMJ2zX39j6/zfKv/m4kU/D6WB8sjsR+PlPXuoM0Ud5T8zrx3lZfdJx 46++K+f4hibxcyTzgMZAbPH9DxMxscOLkkaasV9L3PQXyk4+/ynipg1mwux5ZKF1nUSDXpTqJ 5IvDnWwkLLrqciv/XZJoWTvMeYMHAR30qAojMSUhQGvf7B+xWvwerpdxLIUu66AhMETNYaozE QkGgTztMFovJ4kFUpTcm6nKj1orQYWJVfKILwxy3HMv/Ocpz/A+UrSVP8Jzv/yd9Oz14L4K1V 4ZQxdIo78SXeXbcQrxcYSqxJCdE0LVKdQKhkc9VxOai/3buunbCDaN+xZlG3H5jeXUyglMuw1 pBzoXnVDsV0BuJESN X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Compiling with clang on ARMv8 shows errors like: ./arch/arm/include/asm/system.h:162:32: note: use constraint modifier "w" asm volatile("msr sctlr_el1, %0" : : "r" (val) : "cc"); ^~ %w0 These errors are due to using an incorrect size for the variables used for writing to and reading from special registers which have 64 bits on ARMv8. Mask off reserved bits when reading the exception level. Signed-off-by: Heinrich Schuchardt --- arch/arm/include/asm/system.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -- 2.26.2 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h index 1e3f574403..952057d8ca 100644 --- a/arch/arm/include/asm/system.h +++ b/arch/arm/include/asm/system.h @@ -133,14 +133,16 @@ enum dcache_option { static inline unsigned int current_el(void) { - unsigned int el; + unsigned long el; + asm volatile("mrs %0, CurrentEL" : "=r" (el) : : "cc"); - return el >> 2; + return 3 & (el >> 2); } static inline unsigned int get_sctlr(void) { - unsigned int el, val; + unsigned int el; + unsigned long val; el = current_el(); if (el == 1) @@ -153,7 +155,7 @@ static inline unsigned int get_sctlr(void) return val; } -static inline void set_sctlr(unsigned int val) +static inline void set_sctlr(unsigned long val) { unsigned int el;