From patchwork Sat Sep 26 23:21:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1371879 X-Patchwork-Delegate: uboot@andestech.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=ldSxUGbm; 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 4BzPtr3rPQz9sS8 for ; Sun, 27 Sep 2020 09:21:56 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 448E4823FF; Sun, 27 Sep 2020 01:21:52 +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="ldSxUGbm"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B952F8241A; Sun, 27 Sep 2020 01:21:50 +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.17.21]) (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 51B1C823F2 for ; Sun, 27 Sep 2020 01:21:48 +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=1601162493; bh=XAgH5srtRl+k9zIwZTxlRDpKg/7ZRTgDboOWzxaOgeE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=ldSxUGbmTGPNAXDuKZRQpQlAM98tMnpLjrqmpLAw3WTPqvC2XrF8rWesFJhgpXRBR Q+vQmldrtTYRJF9T/oP8PRzp5eHEAUY2WF9y2uCKE0klxOZzdM9zIhwpLKZiauKfrW 0uW/NqkVLgN3RVP+dWZUxzsmX8oEeVG7pEUBYm/Y= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([178.202.41.107]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MXGvG-1jwR9922la-00YmJY; Sun, 27 Sep 2020 01:21:33 +0200 From: Heinrich Schuchardt To: Rick Chen Cc: Simon Glass , Sean Anderson , Bin Meng , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH v2 1/1] riscv: reset after crash Date: Sun, 27 Sep 2020 01:21:13 +0200 Message-Id: <20200926232113.14721-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:JRj11DLz7F3KWbfvtzyn4cC1mcHFOPSI5g+udKkDqPGoWwFqzSw U9vNSbsagqd+of3xLa2O7DRzrtXE2q/9DH87UaBEwbDzItVYCGJpoMTEqv3JVwVKbWT9Wj0 UM3Ure6UvnFObh8FxUsK4bRABSa4BvN1IGAcEPF9WgMMGRCjtyCISXzvYIunoej6w0rfhCq Y6fidsLGGb+MCyOawItkg== X-UI-Out-Filterresults: notjunk:1;V03:K0:OW4WLeG6fcc=:ZHmeZWC8qRspjESpLplUdF qe1UgI60XjRkWCqU8Zn8ynnkepk2OfvETSPh7AqYvD4bLyc5qDaw3ys0kkXKV4nxoKNLphcQA nwKNnkqLLyh0pOopKuULT35fEdAzX3KWtEmQXLzLISW7sumVeMmsFacTv3oT3XVe/BEioXdXE mWGMbJHQHtpoSDEXWw0g5IDL0vLVb65Dswg5gNVQ64laqoTxCm/N14UZ5HhYNuiSGi7I/1WYV /JpaaC5q2LjV3E6zZ1Fh5k1Z5nDd40vanz8vJ25kA7CY1STvtCjh2+nFJozv0/9q4nb7VFqHQ pWhCNqfppGeGlnC1Hta6FVvgAiaPc3krJZZnu84ntb5xljJZmsqZpc04pgryeah5fQ13Ro+oU jcSnpq33qqCn7nn1jKxbYeY9ARPkZHhI3fWQn9nmAL9pwBAPPJRK6TWrcpK9PexkfRSlcJrUy N1jlE2xs3xvdTi2suLfjFUb6UGVIN7dNVprM/dDRxfoJbnEZCXU6/cUhIS9vM/rIUres08ZTF YEah8Nt/ZzzFMof9P+HN+djm6pvIKnJzOmgQgI3FoWnvaSogksxxla8MXxyGNQgUQdJ6J5FRh NwTwgbAKVnU+n4rDrke41qLCMRJaw6clWf2RWUz2UzxVO2HfDJeICoBupVdIsa/gGWCGq2HmU x7Axw98bmB+LY6dWycpIyG1NQOUv8XpBpg5e8bT9RvpFaGAR+BP1srQtjP3doAkQF8p7WkLxZ f1+s602WHU3KJMdvyOHxcBaZ/axm6h2Q3DjtKXX19jPgB5/2YVX6FzHM7/v8nWNhb6I1ZLiul ylJlypy/LTfbn0X6UhjIorHWY49sgffE7HSwZXZMkVdchEWk4GjPsdK6IYys6RJfOh2P3L6+P 2TERDitfvAag3xjVl1py5NCKj1O8vss+uHqCGxWodc0ZPbQpZ5r2SfSlO+2QNkn6aqmoeDlOZ WH9NO4i6/lm7yYWCDRQ6AJC8z63HjttwIGNHf13J58YjJW6jQh/UtqqvL33weGpzQ3PWJ3jj0 Ss8LuRFN2yYDznIDPwb2RaRTjqYQnHpFdPb8wV56hgAO9TzCd1rU2tJ9tz0f+26zDD605bbXF PN0PWQe8hbR0E4lCr8ZjuwYQM/3TB8QsqKIivSvQElZ04gCCyVZh7yjP1HDYnhIAvXrvqx5/v teNRiqAJbuudOaZP/gtA9MnDZMmU1J0mgVJOstZY/EtSGxJWvtM/wEz8OLESLHT2Gbhs9C437 LealA+3DvOzssVb/cYiy8i8IFe6wFHrSYCyZYuA== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.3 at phobos.denx.de X-Virus-Status: Clean If an exception occurs on ARM or x86, we call panic() which will try to reset the board. Do the same on RISC-V. To avoid -Werror=format-zero-length move a '\n' to the string passed to panic. We don't need a message here as depending on CONFIG_PANIC_HANG we will either see ### ERROR ### Please RESET the board ### or resetting ... as next message. Signed-off-by: Heinrich Schuchardt Reviewed-by: Rick Chen --- v2: Remove a superfluous message passed to panic(). --- arch/riscv/lib/interrupts.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.28.0 diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c index 8ff40f0f36..43b10a2b9b 100644 --- a/arch/riscv/lib/interrupts.c +++ b/arch/riscv/lib/interrupts.c @@ -27,7 +27,7 @@ static void show_efi_loaded_images(uintptr_t epc) static void show_regs(struct pt_regs *regs) { #ifdef CONFIG_SHOW_REGS - printf("SP: " REG_FMT " GP: " REG_FMT " TP: " REG_FMT "\n", + printf("\nSP: " REG_FMT " GP: " REG_FMT " TP: " REG_FMT "\n", regs->sp, regs->gp, regs->tp); printf("T0: " REG_FMT " T1: " REG_FMT " T2: " REG_FMT "\n", regs->t0, regs->t1, regs->t2); @@ -45,7 +45,7 @@ static void show_regs(struct pt_regs *regs) regs->s7, regs->s8, regs->s9); printf("S10: " REG_FMT " S11: " REG_FMT " T3: " REG_FMT "\n", regs->s10, regs->s11, regs->t3); - printf("T4: " REG_FMT " T5: " REG_FMT " T6: " REG_FMT "\n\n", + printf("T4: " REG_FMT " T5: " REG_FMT " T6: " REG_FMT "\n", regs->t4, regs->t5, regs->t6); #endif } @@ -79,12 +79,12 @@ static void _exit_trap(ulong code, ulong epc, ulong tval, struct pt_regs *regs) printf("EPC: " REG_FMT " RA: " REG_FMT " TVAL: " REG_FMT "\n", epc, regs->ra, tval); if (gd->flags & GD_FLG_RELOC) - printf("EPC: " REG_FMT " RA: " REG_FMT " reloc adjusted\n\n", + printf("EPC: " REG_FMT " RA: " REG_FMT " reloc adjusted\n", epc - gd->reloc_off, regs->ra - gd->reloc_off); show_regs(regs); show_efi_loaded_images(epc); - hang(); + panic("\n"); } int interrupt_init(void)