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 A7B77C001DF for ; Mon, 31 Jul 2023 08:06:19 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DF1C986960; Mon, 31 Jul 2023 10:06:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1690790778; bh=g12IDhDyQr9wRgp532DQxAOi9vhq22ISuJ/2bf2vHLE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=eMVrX0ISC3pX5m00ZfgM8eXbaFvL9VpmJxpcO8ZcaJJ4mTugLGcCLrdeUUbji8G3M U86EIAZIdXU9A/2bX98IEl780KssykAJRm5unz2XU4YUtt+Ir/ugcVFAVwCx0BOpN3 hke3L4uZDe2R+6+9anE6ggwopRsm7gt7NMZmb5ZE+ODKaBY09rYc7gQDnRERQPLOiH 9z8zlVXIxorIfgXKRZ6HpI4EAqAP+6Z9kmxNKIDqjklmkC359MSQ+eUK5JEeR2dPTB 7Xdhuf1163Gl92UwYWfQBn3fcIYGg+gMv8wuU7iDEISoCGmPmg69m5pi3R4G8Rb9Uy oNP3PXOa+MbJw== Received: from wsk (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lukma@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 895EC8693A; Mon, 31 Jul 2023 10:06:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1690790776; bh=g12IDhDyQr9wRgp532DQxAOi9vhq22ISuJ/2bf2vHLE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=oPOrS2trtjskC0kdRi6MCl3ONqokDjAxrLzM3er5N34DtCh2UHxcJogXDRSMlkJfA ZjrtsxVo5qIB4qc+yaZGJzcElC5NCmGc6bhagWbO8VkZk4aRGNfMlg20z5TTbsl6GS BYeqUDAJc2XAT1klQi5D5PLndRCs3Kdfiw5T+mbnqKi0/YQIwpn1ytcy1Fa6gpE67g Gqn2MP9zJBc5ccFLGGbE74riwVqhKB/0VYOJO/ODDX1k4NDqCBleX5GKwSPbBAuJ9J fwiRbgPxgbTYqxJUkDKXPBuPS5evqagYFsPe5/6kTx2aBsvuZ7CUz9wt9Uhl9BDnkl Z+nnkYgn+UDmA== Date: Mon, 31 Jul 2023 10:06:15 +0200 From: Lukasz Majewski To: Marek Vasut Cc: u-boot@lists.denx.de, "NXP i.MX U-Boot Team" , Fabio Estevam , Stefano Babic Subject: Re: [PATCH] arm: mxs: Clear CPSR V bit to activate low vectors Message-ID: <20230731100615.22850307@wsk> In-Reply-To: <20230729133010.8660-1-marex@denx.de> References: <20230729133010.8660-1-marex@denx.de> Organization: denx.de X-Mailer: Claws Mail 3.19.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/8nC5LJxg1mlUFCHhFhnGPNR"; protocol="application/pgp-signature"; micalg=pgp-sha512 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 --Sig_/8nC5LJxg1mlUFCHhFhnGPNR Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sat, 29 Jul 2023 15:30:10 +0200 Marek Vasut wrote: > The MXS starts with CPSR V bit set, which makes the CPU jump to high > vectors in case of an exception. Those high vectors are located at > 0xffff0000, which is where the BootROM exception table is located as > well. U-Boot should handle exceptions on its own using its own > exception handling code, which is located at 0x0, i.e. at low > vectors. Clear the CPSR V bit, so that the CPU would jump to low > vectors on exception instead, and therefore run the U-Boot exception > handling code. >=20 > Signed-off-by: Marek Vasut > --- > Cc: "NXP i.MX U-Boot Team" > Cc: Fabio Estevam > Cc: Lukasz Majewski > Cc: Stefano Babic > --- > arch/arm/cpu/arm926ejs/mxs/mxs.c | 3 +++ > arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 4 ++++ > 2 files changed, 7 insertions(+) >=20 > diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c > b/arch/arm/cpu/arm926ejs/mxs/mxs.c index 4d21e3df76e..d64a8328b04 > 100644 --- a/arch/arm/cpu/arm926ejs/mxs/mxs.c > +++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c > @@ -85,6 +85,9 @@ void mx28_fixup_vt(uint32_t start_addr) > /* cppcheck-suppress nullPointer */ > vt[i + 8] =3D start_addr + (4 * i); > } > + > + /* Make sure ARM core points to low vectors */ > + set_cr(get_cr() & ~CR_V); > } > =20 > #ifdef CONFIG_ARCH_MISC_INIT > diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c > b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c index > 5598c552ab9..4a7dfc6a2ae 100644 --- > a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c +++ > b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c @@ -17,6 +17,7 @@ > #include > #include > #include > +#include > #include > =20 > #include "mxs_init.h" > @@ -104,6 +105,9 @@ static void mxs_spl_fixup_vectors(void) > =20 > /* cppcheck-suppress nullPointer */ > memcpy(0x0, &_start, 0x60); > + > + /* Make sure ARM core points to low vectors */ > + set_cr(get_cr() & ~CR_V); > } > =20 > static void mxs_spl_console_init(void) Reviewed-by: Lukasz Majewski Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de --Sig_/8nC5LJxg1mlUFCHhFhnGPNR Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmTHa3cACgkQAR8vZIA0 zr17jAf9FiVVk39pWE9LA085zI/cUMxhCKXFv9PnZeTDOI2KNsyRagV3VpSZvoha QeyAUWi4wW9da56QpguIlHmIhNJnDoF8RjL81x8cDQL+AbJjOcH8+psNw/g+FCDS GA1SUf1zA4BN3BYNl7R346aiSI7Pdp9VZAFiJ1zBMr31AyMXVItjvxNlhXoSy0rN 4FaSba/+oxUFq6P4XcYFuJPWmjeeddn618ju1E0d/zLUQRxjAjvMkLoBoIfMtwoK rBqQYNUqyQ1WtfKeUNqoJIRCA/za5EdWsRTuPmMjaLJw1O1FyrDJNWrXddjhaQlP O18dNZoEdinvfRTj4nznhOJ3hLhzQA== =CZjh -----END PGP SIGNATURE----- --Sig_/8nC5LJxg1mlUFCHhFhnGPNR--