From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F1BF0C6FD1D for ; Sat, 1 Apr 2023 22:18:21 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5CF9B854E0; Sun, 2 Apr 2023 00:18:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lU7WKAx5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 57F99857BC; Sun, 2 Apr 2023 00:18:16 +0200 (CEST) Received: from mail-vs1-xe2c.google.com (mail-vs1-xe2c.google.com [IPv6:2607:f8b0:4864:20::e2c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2BB44854E0 for ; Sun, 2 Apr 2023 00:18:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=mibodhi@gmail.com Received: by mail-vs1-xe2c.google.com with SMTP id g17so22196878vst.10 for ; Sat, 01 Apr 2023 15:18:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680387491; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bRXLGLYWDsE9QcGX5QYZ/k8paknU+j+3qMtxP8opyxs=; b=lU7WKAx5Y6ZwyedVzjC2/XcZN4dpWfHpMYVKGIOlOACzSEX7pDOxHLmYCohj6XdUKz Gn2vOf/R2T+uPqikeK1H0e/EgObs9JkNTKkmr9e3rnkmgFb1I2CLtSTadN6D8S7MF/TF Nc3e0+1yg9WpM6fcu/ZaZotCuJVFJv2oBiTq4kj7Oj1cIZzNOJaOAXJ1L4vq1l1fB1bx 2++xly6MlRQo8m8A6+e944JFo70Qra/8FPJcP7DnIyNWOaqlnBh/VGnOCoCtMpFhaibl kLqIZ3KH6GccnX8tBmDqc8VSUFoY8zeeBMZN5L5eNqZoZlbO6FCMVr32tAvmbrEb0RSd +G1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680387491; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bRXLGLYWDsE9QcGX5QYZ/k8paknU+j+3qMtxP8opyxs=; b=3UfZ79XroOXqfkb2xlwrdJj8J2aB5z60dn7unTOLl+Gt6/YIy5JxEd0OmIYwlUJbX2 g8qavo1uxHRwwTitNjHK/6PrQkPt1Vd9czXwRB8xCAnOqUatbmZ8dVGwv4wM0j4t6IgV 3IAAFjSY5aYVpQTboiSDM0lpfIgxL/ZSaTDQ4JNVYbb7VfXkAYx5O8VuDIDcevhKAiyh ou6JbVyx7VZF4QDK6A+NwlYvAD7xnVG/gKXl+8tj0w17oo+ENugapVGeAx2qx10xSuMI u/Gbrr+P+wEaAJnLH20mFhRu4RxcZeAvoIXL1mUucv3ZTmy6F+xgkkwQ6Hpoki4xSsi2 nbOw== X-Gm-Message-State: AAQBX9ddkR9dwd49NqC7fcAERRgANtku2Kd3gKmhl+iKNYnF32zVMSOl 4/xOp0JuPHrINxhCu5pzos8bYUik3/meFURVCDA= X-Google-Smtp-Source: AKy350ZsewPL3zvuJB7KV18jTYfCCujf2fUCAylhijUFHr+bUlWldSRXoQox+ZQO96kDtLU+2cgM0JjFb04v9qn2qaM= X-Received: by 2002:a67:ca1c:0:b0:426:7730:2002 with SMTP id z28-20020a67ca1c000000b0042677302002mr18234962vsk.0.1680387490758; Sat, 01 Apr 2023 15:18:10 -0700 (PDT) MIME-Version: 1.0 References: <20230401215439.9107-1-francis.laniel@amarulasolutions.com> In-Reply-To: <20230401215439.9107-1-francis.laniel@amarulasolutions.com> From: Tony Dinh Date: Sat, 1 Apr 2023 15:17:59 -0700 Message-ID: Subject: Re: [RFC PATCH v1] arm: lib: add __gnu_thumb1_case_si To: Francis Laniel , Tom Rini , =?UTF-8?Q?Pali_Roh=C3=A1r?= , Stefan Roese Cc: u-boot@lists.denx.de, Michael Nazzareno Trimarchi , Sergei Antonov Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.8 at phobos.denx.de X-Virus-Status: Clean Hi Francis, On Sat, Apr 1, 2023 at 2:55=E2=80=AFPM Francis Laniel wrote: > > The assembly for __gnu_thumb1_case_si was taken from upstream gcc and ada= pted > as width suffix was removed for the add instruction [1]. > > Signed-off-by: Francis Laniel > Tested-by: Tony Dinh > [1] https://github.com/gcc-mirror/gcc/blob/4f181f9c7ee3efc509d185fdfda33b= e9018f1611/libgcc/config/arm/lib1funcs.S#L2156 Thanks for the patch! I've added Tom, Pali, and Stefan. I think we need to do some more testing for other boards that have CONFIG_HAS_THUMB2 and CONFIG_SPL_SYS_THUMB_BUILD. My test target (Marvell Armada 385 SoC) is somewhat broken right now. So it will take some time for me to get that back running to run this test. All the best, Tony > --- > arch/arm/lib/lib1funcs.S | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S > index 7ff4446dd6..79cedc0aad 100644 > --- a/arch/arm/lib/lib1funcs.S > +++ b/arch/arm/lib/lib1funcs.S > @@ -424,4 +424,21 @@ ENTRY(__gnu_thumb1_case_uhi) > ret lr > ENDPROC(__gnu_thumb1_case_uhi) > .popsection > + > +/* Taken and adapted from: https://github.com/gcc-mirror/gcc/blob/4f181f= 9c7ee3efc509d185fdfda33be9018f1611/libgcc/config/arm/lib1funcs.S#L2156 */ > +.pushsection .text.__gnu_thumb1_case_si, "ax" > +ENTRY(__gnu_thumb1_case_si) > + push {r0, r1} > + mov r1, lr > + adds r1, r1, #2 /* Align to word. */ > + lsrs r1, r1, #2 > + lsls r0, r0, #2 > + lsls r1, r1, #2 > + ldr r0, [r1, r0] > + adds r0, r0, r1 > + mov lr, r0 > + pop {r0, r1} > + mov pc, lr /* We know we were called from thumb code= . */ > +ENDPROC(__gnu_thumb1_case_si) > +.popsection > #endif > -- > 2.34.1 >