From patchwork Sun Dec 30 18:27:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019462 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STW63K7Lz9s0n for ; Mon, 31 Dec 2018 05:29:38 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 1A9E2C21DAF; Sun, 30 Dec 2018 18:28:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 4E40DC21E0B; Sun, 30 Dec 2018 18:28:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 5D3D3C21DFA; Sun, 30 Dec 2018 18:28:26 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id 3A44CC21EA1 for ; Sun, 30 Dec 2018 18:28:23 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2EVAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA4FWOYxvix2bPQ2EbAKDbiI3Bg0BAwEBAgEBAgICaSiFPgYnCwFGEFE9GgYOBYMhggEBqEkzihwJAYdQhCuBVz+IaoEEhQ4CiQqBfpRnBwKBEYEJBI5+CxiJWIclmBaBXCOBVTMaJIM7gicXjh0+ATIBjA6CTQEB X-IPAS-Result: A2EVAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA4FWOYxvix2bPQ2EbAKDbiI3Bg0BAwEBAgEBAgICaSiFPgYnCwFGEFE9GgYOBYMhggEBqEkzihwJAYdQhCuBVz+IaoEEhQ4CiQqBfpRnBwKBEYEJBI5+CxiJWIclmBaBXCOBVTMaJIM7gicXjh0+ATIBjA6CTQEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573576" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:22 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ATAACO3/Jb/xBhWMBiGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGDOCE5jG+mWg2EbAKEDzcGDQEDAQECAQECbSiFPQYnCwFGEFE9GgYOBYMhggKoQzOKHAkBh1CGAj+IaoEEhQ4CiQqBfpRnBwKBEYEJBI5+CxiJWIclmBaBXCKBVTMaJIM7gicXjh0+AzABjA6CTQEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375050" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:22 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:21 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:41 +0100 Message-ID: <20181230182746.23448-2-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--3.899300-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Cc: Greentime Hu Subject: [U-Boot] [PATCH 1/6] riscv: clarify error message on undefined exceptions X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Undefined exceptions are treated as reserved. This is not clearly communicated to the user. Adjust the error message to clarify that a reserved exception has occurred and add additional details. Fixes: e8b522b ("riscv: treat undefined exception codes as reserved") Signed-off-by: Lukas Auer Reviewed-by: Bin Meng --- arch/riscv/lib/interrupts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c index e185933b01..74c1e561c7 100644 --- a/arch/riscv/lib/interrupts.c +++ b/arch/riscv/lib/interrupts.c @@ -37,7 +37,8 @@ static void _exit_trap(ulong code, ulong epc, struct pt_regs *regs) printf("exception code: %ld , %s , epc %lx , ra %lx\n", code, exception_code[code], epc, regs->ra); } else { - printf("Reserved\n"); + printf("reserved exception code: %ld , epc %lx , ra %lx\n", + code, epc, regs->ra); } hang(); From patchwork Sun Dec 30 18:27:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019461 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STVY502Vz9s0n for ; Mon, 31 Dec 2018 05:29:09 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 41540C21DFD; Sun, 30 Dec 2018 18:28:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 242C9C21E74; Sun, 30 Dec 2018 18:28:39 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 47955C21E38; Sun, 30 Dec 2018 18:28:31 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id B7ADCC21EA2 for ; Sun, 30 Dec 2018 18:28:27 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2EVAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA4FWOYxvix2bPQ2EbAKDbiI3Bg0BAwEBAgEBAgICaSiFPgYyAUYQUT0aBg4FgyGCAQGofIocCQGHUIQrgVc/gRABiF2FDgKLCJRnBwKBEYEJBI5+CxiJWIclmBaBXCOBVTMaJIM7gicXjh0+ATIBjlsBAQ X-IPAS-Result: A2EVAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA4FWOYxvix2bPQ2EbAKDbiI3Bg0BAwEBAgEBAgICaSiFPgYyAUYQUT0aBg4FgyGCAQGofIocCQGHUIQrgVc/gRABiF2FDgKLCJRnBwKBEYEJBI5+CxiJWIclmBaBXCOBVTMaJIM7gicXjh0+ATIBjlsBAQ X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573577" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:27 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0A1AACO3/Jb/xBhWMBiGwEBAQEDAQEBBwMBAQGBVAMBAQELAYM4ITmMb6ZaDYRsAoQPNwYNAQMBAQIBAQJtKIU9BjIBRhBRPRoGDgWDIYICqHaKHAkBh1CGAj+BEAGIXYUOAosIlGcHAoERgQkEjn4LGIlYhyWYFoFcIoFVMxokgzuCJxeOHT4DMAGOWwEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375056" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:27 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:26 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:42 +0100 Message-ID: <20181230182746.23448-3-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--2.890800-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Cc: Greentime Hu Subject: [U-Boot] [PATCH 2/6] riscv: remove invalid dcache flush implementation X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" The fence instruction is used to enforce device I/O and memory ordering constraints in RISC-V. It does not directly affect the data cache and particular cannot be used to flush or invalidate it. RISC-V does not have instructions for explicit cache control. Remove the flush_dcache_all implementation and its use in all dcache-specific functions in lib/cache.c. This also adds a missing new line between flush_dcache_all and flush_dcache_range in lib/cache.c. Signed-off-by: Lukas Auer Reviewed-by: Bin Meng --- This patch only removes the implementation itself and its use in dcache-specific functions in lib/cache.c. There are more uses of it in arch/riscv/, which this patch does not remove. arch/riscv/lib/cache.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/riscv/lib/cache.c b/arch/riscv/lib/cache.c index ae5c60716f..203e287612 100644 --- a/arch/riscv/lib/cache.c +++ b/arch/riscv/lib/cache.c @@ -13,11 +13,10 @@ void invalidate_icache_all(void) void flush_dcache_all(void) { - asm volatile ("fence" :::"memory"); } + void flush_dcache_range(unsigned long start, unsigned long end) { - flush_dcache_all(); } void invalidate_icache_range(unsigned long start, unsigned long end) @@ -31,7 +30,6 @@ void invalidate_icache_range(unsigned long start, unsigned long end) void invalidate_dcache_range(unsigned long start, unsigned long end) { - flush_dcache_all(); } void cache_flush(void) From patchwork Sun Dec 30 18:27:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019466 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STYh0Y2Zz9s0n for ; Mon, 31 Dec 2018 05:31:51 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B4BC6C21E73; Sun, 30 Dec 2018 18:30:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 5EC1DC21E60; Sun, 30 Dec 2018 18:29:19 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 82974C21E7D; Sun, 30 Dec 2018 18:28:33 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id 0CC5CC21E38 for ; Sun, 30 Dec 2018 18:28:31 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2EjAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA2ZwOYdChS2LHYQ6jAaJF4FmDR+BEYM8AoNuIjcGDQEDAQECAQECAgJpHAyEIV8+BjIBRhBRPRoGDgWDIQGCAAGofINxhisJAYdQhCuBVz+BEAGHVYEIhQ4CiRyGA5BQBwKBEYEJBIRciiILGIIkhzSHJZRSAYNDgVwjgVUzGiSDOwmJPWGGND4BMgGOWwEB X-IPAS-Result: A2EjAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGCA2ZwOYdChS2LHYQ6jAaJF4FmDR+BEYM8AoNuIjcGDQEDAQECAQECAgJpHAyEIV8+BjIBRhBRPRoGDgWDIQGCAAGofINxhisJAYdQhCuBVz+BEAGHVYEIhQ4CiRyGA5BQBwKBEYEJBIRciiILGIIkhzSHJZRSAYNDgVwjgVUzGiSDOwmJPWGGND4BMgGOWwEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573578" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:29 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ClAACO3/Jb/xBhWMBiHAEBAQQBAQcEAQGBVAQBAQsBgmlPITmMb5tdiReBZg0fhE0ChA83Bg0BAwEBAgEBAm0cDIU9BjIBRhBRPRoGDgWDIQGCAah2ihwJAYdQhgI/gRABh1WBCIUOAokchgOQUAcCgRGBCQSEXIoiCxiCJIc0hyWYFoFcIoFVMxokgzsJiT1hhjQ+AzABjlsBAQ X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375058" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:29 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:28 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:43 +0100 Message-ID: <20181230182746.23448-4-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--8.439400-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Cc: Greentime Hu Subject: [U-Boot] [PATCH 3/6] riscv: remove RISC-V standalone linker script X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Standalone applications do not require a separate linker script and can use the default linker script of the compiler instead. Remove the RISC-V standalone linker script. Signed-off-by: Lukas Auer Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/config.mk | 1 - examples/standalone/riscv.lds | 40 ----------------------------------- 2 files changed, 41 deletions(-) delete mode 100644 examples/standalone/riscv.lds diff --git a/arch/riscv/config.mk b/arch/riscv/config.mk index ff4fe64001..e484a3f0ef 100644 --- a/arch/riscv/config.mk +++ b/arch/riscv/config.mk @@ -24,7 +24,6 @@ EFI_LDS := elf_riscv64_efi.lds endif CONFIG_STANDALONE_LOAD_ADDR = 0x00000000 -LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/riscv.lds PLATFORM_CPPFLAGS += -ffixed-gp -fpic PLATFORM_RELFLAGS += -fno-common -gdwarf-2 -ffunction-sections \ diff --git a/examples/standalone/riscv.lds b/examples/standalone/riscv.lds deleted file mode 100644 index 9a25861052..0000000000 --- a/examples/standalone/riscv.lds +++ /dev/null @@ -1,40 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2017 Andes Technology Corporation - * Rick Chen, Andes Technology Corporation - */ - -OUTPUT_ARCH(riscv) -ENTRY(_start) -SECTIONS -{ - . = ALIGN(4); - .text : - { - *(.text) - } - - . = ALIGN(4); - .data : { - __global_pointer$ = . + 0x800; - *(.data) - } - - . = ALIGN(4); - - .got : { - __got_start = .; - *(.got) - __got_end = .; - } - - . = ALIGN(4); - __bss_start = .; - .bss : { *(.bss) } - __bss_end = .; - - . = ALIGN(4); - .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } - - _end = .; -} From patchwork Sun Dec 30 18:27:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019465 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STY404tFz9s0n for ; Mon, 31 Dec 2018 05:31:19 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AFD15C21E6C; Sun, 30 Dec 2018 18:29:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 7A8A9C21E56; Sun, 30 Dec 2018 18:29:07 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9BD90C21DFB; Sun, 30 Dec 2018 18:28:32 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id DD29CC21E52 for ; Sun, 30 Dec 2018 18:28:31 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2H3AAAO4PJb/xoBYJliGwEBAQEDAQEBBwMBAQGBZYIEgVY5jG+LHZs9DYRsAoNuIjgSAQMBAQIBAQICAmkohT4GMgFGEFE9GgYOBYMhggEBqHyKHAkBh1CEK4FXP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIoFVMxokT4JskFs+ATIBjA4qgiMBAQ X-IPAS-Result: A2H3AAAO4PJb/xoBYJliGwEBAQEDAQEBBwMBAQGBZYIEgVY5jG+LHZs9DYRsAoNuIjgSAQMBAQIBAQICAmkohT4GMgFGEFE9GgYOBYMhggEBqHyKHAkBh1CEK4FXP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIoFVMxokT4JskFs+ATIBjA4qgiMBAQ X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573579" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:31 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C0AgCO3/Jb/xBhWMBiHAEBAQQBAQcEAQGBZYM5ITmMb6ZaDYRsAoQPOBIBAwEBAgEBAm0ohT0GMgFGEFE9GgYOBYMhggKodoocCQGHUIYCP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIYFVMxokT4JskFs+AzABjA4qgiMBAQ X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375061" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:31 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:30 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:44 +0100 Message-ID: <20181230182746.23448-5-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--6.652100-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Cc: Greentime Hu Subject: [U-Boot] [PATCH 4/6] riscv: replace use of callee-saved register in standalone X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Register x19 (s3) is a callee-saved register. It must not be used to load and jump to exported functions without saving it beforehand. Replace it with t0, a temporary and caller-saved register. Change the code comment to reflect this and fix it to correctly list gp as the register with the pointer to global data. Signed-off-by: Lukas Auer Reviewed-by: Bin Meng Tested-by: Bin Meng --- examples/standalone/stubs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c index fadde669fa..f37d209da6 100644 --- a/examples/standalone/stubs.c +++ b/examples/standalone/stubs.c @@ -174,16 +174,16 @@ gd_t *global_data; : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "$r16"); #elif defined(CONFIG_RISCV) /* - * t7 holds the pointer to the global_data. gp is call clobbered. + * gp holds the pointer to the global_data. t0 is call clobbered. */ #define EXPORT_FUNC(f, a, x, ...) \ asm volatile ( \ " .globl " #x "\n" \ #x ":\n" \ -" lw x19, %0(gp)\n" \ -" lw x19, %1(x19)\n" \ -" jr x19\n" \ - : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "x19"); +" lw t0, %0(gp)\n" \ +" lw t0, %1(t0)\n" \ +" jr t0\n" \ + : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "t0"); #elif defined(CONFIG_ARC) /* * r25 holds the pointer to the global_data. r10 is call clobbered. From patchwork Sun Dec 30 18:27:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019463 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STWw3cgfz9s0n for ; Mon, 31 Dec 2018 05:30:20 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 37466C21E3B; Sun, 30 Dec 2018 18:29:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 882B3C21E79; Sun, 30 Dec 2018 18:28:57 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 07FC1C21E57; Sun, 30 Dec 2018 18:28:34 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id D4C87C21E30 for ; Sun, 30 Dec 2018 18:28:33 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2FbAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBZYIEgVY5jG+LHZs9DYRsAoNuIjgSAQMBAQIBAQICAmkohT4GMgFGEFE9GgYOBYMhggEBqHyKHAkBh1CEK4FXP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIoFVMxokgzuQWz4BMgGOWwEB X-IPAS-Result: A2FbAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBZYIEgVY5jG+LHZs9DYRsAoNuIjgSAQMBAQIBAQICAmkohT4GMgFGEFE9GgYOBYMhggEBqHyKHAkBh1CEK4FXP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIoFVMxokgzuQWz4BMgGOWwEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573580" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:33 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BTAACO3/Jb/xBhWMBiGgEBAQEBAgEBAQEHAgEBAQGBZYM5ITmMb6ZaDYRsAoQPOBIBAwEBAgEBAm0ohT0GMgFGEFE9GgYOBYMhggKodoocCQGHUIYCP4luhQ4Cn28HAoERgQkEjn4LGIlYhyWYFoFdIYFVMxokgzuQWz4DMAGOWwEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375065" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:33 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:32 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:45 +0100 Message-ID: <20181230182746.23448-6-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--3.406600-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Cc: Greentime Hu Subject: [U-Boot] [PATCH 5/6] riscv: support standalone applications on RV64I systems X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Add an implementation of EXPORT_FUNC() for RV64I systems to support them in standalone applications. Signed-off-by: Lukas Auer Reviewed-by: Bin Meng Tested-by: Bin Meng --- examples/standalone/stubs.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c index f37d209da6..0827bde35e 100644 --- a/examples/standalone/stubs.c +++ b/examples/standalone/stubs.c @@ -176,6 +176,16 @@ gd_t *global_data; /* * gp holds the pointer to the global_data. t0 is call clobbered. */ +#ifdef CONFIG_ARCH_RV64I +#define EXPORT_FUNC(f, a, x, ...) \ + asm volatile ( \ +" .globl " #x "\n" \ +#x ":\n" \ +" ld t0, %0(gp)\n" \ +" ld t0, %1(t0)\n" \ +" jr t0\n" \ + : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "t0"); +#else #define EXPORT_FUNC(f, a, x, ...) \ asm volatile ( \ " .globl " #x "\n" \ @@ -184,6 +194,7 @@ gd_t *global_data; " lw t0, %1(t0)\n" \ " jr t0\n" \ : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "t0"); +#endif #elif defined(CONFIG_ARC) /* * r25 holds the pointer to the global_data. r10 is call clobbered. From patchwork Sun Dec 30 18:27:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Auer X-Patchwork-Id: 1019464 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aisec.fraunhofer.de Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43STXv4SFNz9s0n for ; Mon, 31 Dec 2018 05:31:11 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 188CFC21E42; Sun, 30 Dec 2018 18:29:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 44C68C21E68; Sun, 30 Dec 2018 18:29:10 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 612ECC21DC1; Sun, 30 Dec 2018 18:28:35 +0000 (UTC) Received: from mail-edgeDD24.fraunhofer.de (mail-edgeDD24.fraunhofer.de [192.102.167.24]) by lists.denx.de (Postfix) with ESMTPS id B9057C21E49 for ; Sun, 30 Dec 2018 18:28:35 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2GWAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBZYIEZnA5h0KFLYsdhDqXAw0fgRGDPAKDbiI4EgEDAQECAQECAgJpHAyEIV8+BjIBRhBRPRoGDgWDIQGCAAGofINxhisJAYdQhCuBVz+IaoEEhQ4Cn28HAoERgQkEhFyKIgsYgiSHNIcllFIBg0OBXSKBVTMaJIM7CYoehjQ+ATIBjA6CTQEB X-IPAS-Result: A2GWAAAO4PJb/xoBYJliGgEBAQEBAgEBAQEHAgEBAQGBZYIEZnA5h0KFLYsdhDqXAw0fgRGDPAKDbiI4EgEDAQECAQECAgJpHAyEIV8+BjIBRhBRPRoGDgWDIQGCAAGofINxhisJAYdQhCuBVz+IaoEEhQ4Cn28HAoERgQkEhFyKIgsYgiSHNIcllFIBg0OBXSKBVTMaJIM7CYoehjQ+ATIBjA6CTQEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="22573581" Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeDD24.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Dec 2018 19:28:35 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C2AgCO3/Jb/xBhWMBiHAEBAQQBAQcEAQGBZYJqTyE5jG+mWg0fhE0ChA84EgEDAQECAQECbRwMhT0GMgFGEFE9GgYOBYMhAYIBqHaKHAkBh1CGAj+IaoEEhQ4Cn28HAoERgQkEhFyKIgsYgiSHNIclmBaBXSGBVTMaJIM7CYoehjQ+AzABjA6CTQEB X-IronPort-AV: E=Sophos;i="5.56,253,1539640800"; d="scan'208";a="25375066" Received: from fgdemucivp01ltm.xch.fraunhofer.de (HELO FGDEMUCIMP12EXC.ads.fraunhofer.de) ([192.88.97.16]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/AES256-SHA; 30 Dec 2018 19:28:35 +0100 Received: from localhost.de (10.80.233.51) by FGDEMUCIMP12EXC.ads.fraunhofer.de (10.80.232.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 30 Dec 2018 19:28:34 +0100 From: Lukas Auer To: Date: Sun, 30 Dec 2018 19:27:46 +0100 Message-ID: <20181230182746.23448-7-lukas.auer@aisec.fraunhofer.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> References: <20181230182746.23448-1-lukas.auer@aisec.fraunhofer.de> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.4179-8.200.1013-24324.005 X-TM-AS-Result: No--5.466200-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Subject: [U-Boot] [PATCH 6/6] riscv: qemu: define standalone load address X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" We need to define the standalone load address to use standalone application on qemu-riscv. Define it and set it equal to CONFIG_SYS_LOAD_ADDR. To not overwrite it, change the assigned of CONFIG_STANDALONE_LOAD_ADDR in arch/riscv/config.mk to a conditional one. Signed-off-by: Lukas Auer Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/config.mk | 2 +- include/configs/qemu-riscv.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/riscv/config.mk b/arch/riscv/config.mk index e484a3f0ef..84654eb3ed 100644 --- a/arch/riscv/config.mk +++ b/arch/riscv/config.mk @@ -23,7 +23,7 @@ PLATFORM_LDFLAGS += -m $(64bit-emul) EFI_LDS := elf_riscv64_efi.lds endif -CONFIG_STANDALONE_LOAD_ADDR = 0x00000000 +CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 PLATFORM_CPPFLAGS += -ffixed-gp -fpic PLATFORM_RELFLAGS += -fno-common -gdwarf-2 -ffunction-sections \ diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h index b29d155d09..2588c5a0b2 100644 --- a/include/configs/qemu-riscv.h +++ b/include/configs/qemu-riscv.h @@ -17,6 +17,8 @@ #define CONFIG_SYS_BOOTM_LEN SZ_16M +#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000 + /* Environment options */ #define CONFIG_ENV_SIZE SZ_4K