From patchwork Mon Jan 15 15:19:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1886729 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=2Rem20e0; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=QfViXDSG; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TDG6r1np0z23dm for ; Tue, 16 Jan 2024 02:20:34 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WDPYtWRC4W5XHULjD1DYijC2DkKN0C1koQv9s4TOWT8=; b=2Rem20e0r0uEgA VvTotl8R6ER2kUwcI9iAr29cexCXUg0AJGU2CrPGXifr8ShgM6tAa4p0SNp+1Cc3/mvsHKrxA1ZXf uuS4q6VB14HRfbahpreSlmXT22SP5XnKoH83/G+lpl5RuAOreIc+evV4LrhhyvYgiuKhk/nvdhUWj f9gEu3lJLr8mtzEUi0fnEWWQre9QKN88sbztDg7DUYAP24Jslo7xux0EzZyGR4hiOCfweidTXQxdx phjutXPHLKuUhcqXJuIeQlJpnbOOrXJSTPSEcFovNgWOwmlDKENZ1oWSKVkPSM1DXrKmsdyrAMAmC hrowdJP7bBfE1xdjw/Dw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl3-009NIs-1B; Mon, 15 Jan 2024 15:20:13 +0000 Received: from m16.mail.126.com ([220.197.31.8]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOkz-009NGz-31 for opensbi@lists.infradead.org; Mon, 15 Jan 2024 15:20:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=qVqHe oLcOsEV4Wfig+xzFZ7sqNjN/4xHD9x6HaUCkRQ=; b=QfViXDSG+/VrMjNSARc1d 4oPZk9H5efiWgVxtfr2idp8u6HQEDp6jyN8CaC604cTlpn4jManEQijhyJGlknYT Gr3Sb4kMcJvfEE5w5KrH4jHt5/3SxpMQ4Bq+7dmyj/k70nV1puk/1Sgl8Hq2YZ3R nGOazHMYmJqq+X+DWPJE84= Received: from T490.lan (unknown [112.83.182.118]) by gzga-smtp-mta-g1-3 (Coremail) with SMTP id _____wD3X9QcTaVlISS4AA--.61052S3; Mon, 15 Jan 2024 23:20:02 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W Subject: [PATCH v2 1/4] firmware: fw_base.S: Improve loading u32 Date: Mon, 15 Jan 2024 23:19:17 +0800 Message-ID: <20240115151930.392299-2-wxjstz@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240115151930.392299-1-wxjstz@126.com> References: <20240115151930.392299-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wD3X9QcTaVlISS4AA--.61052S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7tFyUCw4fCFWrtw1UAFyxKrg_yoW8JFyfpr 43CayfCF4jg34SgryfXw48Zr45K3s8Gws8KayUuF1fAr1avr47ur9xtay3ZF1xtrWIy39Y vF1Ivr18Ca47CaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pRTKZXUUUUU= X-Originating-IP: [112.83.182.118] X-CM-SenderInfo: pz0m23b26rjloofrz/xtbBdAdmOmSdLsK9KwAAss X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_072010_353092_44AB4B88 X-CRM114-Status: UNSURE ( 6.61 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: lwu exists under the current rv64 and should also exist under the rv128 in the future, so I modified the conditions of conditional compilation so that it can adapt to the future situation Signed-off-by: Xiang W --- firmware/fw_base.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz[at]126.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org lwu exists under the current rv64 and should also exist under the rv128 in the future, so I modified the conditions of conditional compilation so that it can adapt to the future situation Signed-off-by: Xiang W --- firmware/fw_base.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index f7763f4..2f30d00 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -358,7 +358,7 @@ _scratch_init: /* t0 = source FDT start address */ add t0, a1, zero /* t2 = source FDT size in big-endian */ -#if __riscv_xlen == 64 +#if __riscv_xlen > 32 lwu t2, 4(t0) #else lw t2, 4(t0) @@ -424,7 +424,7 @@ _start_warm: /* Find HART count and HART stack size */ lla a4, platform -#if __riscv_xlen == 64 +#if __riscv_xlen > 32 lwu s7, SBI_PLATFORM_HART_COUNT_OFFSET(a4) lwu s8, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(a4) #else @@ -440,7 +440,7 @@ _start_warm: beqz s9, 3f li a4, 0 1: -#if __riscv_xlen == 64 +#if __riscv_xlen > 32 lwu a5, (s9) #else lw a5, (s9) @@ -527,7 +527,7 @@ _hartid_to_scratch: * t2 -> Temporary */ lla t2, platform -#if __riscv_xlen == 64 +#if __riscv_xlen > 32 lwu t0, SBI_PLATFORM_HART_STACK_SIZE_OFFSET(t2) lwu t2, SBI_PLATFORM_HART_COUNT_OFFSET(t2) #else From patchwork Mon Jan 15 15:19:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1886728 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=AVM2D73M; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=JOrjLPw9; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TDG6r1dVsz23df for ; Tue, 16 Jan 2024 02:20:34 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LA+L8DlgMoDUuiCiNxB3fS21Mippe9/bZbQUz8PAUBc=; b=AVM2D73M1mpxdr Grh2L62/IBgW29HuGSSUY2Rkvwtrhg8sEdh1OeboIpkhSgvUdbFwMOa1GnOmI18rID+L0AwkM5uy7 ci9MEwaXlpw5NPM6lODy0YNoU+3KDluh9UPDgZmnStTvRFhmMpl4vMZq/5PcS933vKbLn8M9Wqv/Q NSxsyDbstSelCPlh7hx1zXmmoORpsQRLfYGZUTuq+utQTY0PLR9aSyjH89osvOkUwC1LuFpSI+6RH y+FGc1e3f8XXOJxffquQZ07vnl17eiRAWuukHpJ6g2j7QEkiD5jCTMAOEqCShvhJjzR1+tlDnkxiX NovGGW7MTs/3GHVVzKBw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl2-009NIa-2v; Mon, 15 Jan 2024 15:20:12 +0000 Received: from m16.mail.126.com ([220.197.31.7]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOkz-009NGy-1y for opensbi@lists.infradead.org; Mon, 15 Jan 2024 15:20:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=+FXpI DYXg8eoK01C1g9237u8qlXkLhvMxQt0kyU3zUQ=; b=JOrjLPw9dsozxNxzxv9xD BPLC4Fl4PBJhbWjIFotjxhJTCRKGrHRjdPCWF6ApDD3hjZMnbOHw7lhVEEdu+lkf G0vZTpwc6Z0ehAgbsKF0T4NLFHI/vs1dUHPn0YmJJWZ3zAbLklCDiSDYLIMB4KkP nJJeNKGAp1y4Rxhn5JpKLQ= Received: from T490.lan (unknown [112.83.182.118]) by gzga-smtp-mta-g1-3 (Coremail) with SMTP id _____wD3X9QcTaVlISS4AA--.61052S4; Mon, 15 Jan 2024 23:20:05 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W Subject: [PATCH v2 2/4] firmware: fw_base.S: remove _runtime_offset Date: Mon, 15 Jan 2024 23:19:18 +0800 Message-ID: <20240115151930.392299-3-wxjstz@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240115151930.392299-1-wxjstz@126.com> References: <20240115151930.392299-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wD3X9QcTaVlISS4AA--.61052S4 X-Coremail-Antispam: 1Uf129KBjvdXoW7Xw1UArW7Cw4DZFy7uryfJFb_yoW3Jrg_CF WakFWxJrWFqr4UWw1rGryrArWFv3s5u3WF9w1kA39rtF17G3yjvFZrA3yqvryUWF43KFW5 ZFWfXFnF9rn29jkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7sRC38n5UUUUU== X-Originating-IP: [112.83.182.118] X-CM-SenderInfo: pz0m23b26rjloofrz/xtbBdQZmOmSdLuLFRwAAsY X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_072010_031912_AEAD3767 X-CRM114-Status: UNSURE ( 4.91 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: _runtime_offset is a variable not used elsewhere, so remove it. Signed-off-by: Xiang W --- firmware/fw_base.S | 6 ------ 1 file changed, 6 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 2f30d00..0e1b6fb 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -74,8 +74,6 @@ _try_lottery: REG_L t0, 0(t0) /* t1 shall has the [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz[at]126.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org _runtime_offset is a variable not used elsewhere, so remove it. Signed-off-by: Xiang W --- firmware/fw_base.S | 6 ------ 1 file changed, 6 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 2f30d00..0e1b6fb 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -74,8 +74,6 @@ _try_lottery: REG_L t0, 0(t0) /* t1 shall has the address of _fw_start */ sub t2, t1, t0 - lla t3, _runtime_offset - REG_S t2, (t3) lla t0, __rel_dyn_start lla t1, __rel_dyn_end beq t0, t1, _relocate_done @@ -500,10 +498,6 @@ _skip_trap_exit_rv32_hyp: .data .align 3 -#ifdef FW_PIC -_runtime_offset: - RISCV_PTR 0 -#endif _relocate_lottery: RISCV_PTR 0 _boot_status: From patchwork Mon Jan 15 15:19:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1886727 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=zcdRKrpI; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=BP54OHry; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TDG6r1G8sz1yPJ for ; Tue, 16 Jan 2024 02:20:34 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=29ad46w1hyby0FWPmsSHGB2sMTs028ndjPDLkqnfues=; b=zcdRKrpIfszQal HkqwRcYEvqNQ+Ph+IclytH5oLi4jbDsbU1bvMoFEN6j1a1SJkJ0h8Gl/qi3OIuN9in47NtnHuMk0R khW8RyFwlD55qxITrd9is5iuh+rZLYWu3S07S18kkzKYzE+RyKatF2gX9GFS9mJZCZayYMokDOiol o/7tiJyUlO+EbiJq1i3E6p13Efy7p7J5f7lhYl4UVyvhR+nVSY94Gv202+GGTdfAr7BB4Ws2yjjZD /Rw5VDbkBVumCXG2sbqpCs7tqlVm0sfJvCwf4eLcLz92B67PjgSv9CHbJP1peYf4/7lfDz7CFqwZT zO/BuGpTImqJgv+AtTPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl5-009NJc-0t; Mon, 15 Jan 2024 15:20:15 +0000 Received: from m16.mail.126.com ([220.197.31.7]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl1-009NHm-1h for opensbi@lists.infradead.org; Mon, 15 Jan 2024 15:20:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=sfcC4 JZfHJbIPyPg8/eFqjrf39H/Nwd0ESLb7KGbtf0=; b=BP54OHry1pQ48TKfpF3VM XzeYD9x/b2lB8xx2oDCgTiLgoXOOuFmaw27xLQtjO1Vn1r86yDMCTZ5l4SQTiH9M pSbFl9rcTuX6iJXQfhUZxPHEf7cUVI5HUDo0vvduxFJPZGby5zpA48ExMzxnp50i XEovyGklF9z7Zz1ux3uavk= Received: from T490.lan (unknown [112.83.182.118]) by gzga-smtp-mta-g1-3 (Coremail) with SMTP id _____wD3X9QcTaVlISS4AA--.61052S5; Mon, 15 Jan 2024 23:20:05 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W Subject: [PATCH v2 3/4] firmware: fw_base.S: Simplify address get in _relocate Date: Mon, 15 Jan 2024 23:19:19 +0800 Message-ID: <20240115151930.392299-4-wxjstz@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240115151930.392299-1-wxjstz@126.com> References: <20240115151930.392299-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wD3X9QcTaVlISS4AA--.61052S5 X-Coremail-Antispam: 1Uf129KBjvdXoW7GFWftr4DZF1UAryxuw17Wrg_yoWktFb_XF yIvFykGr1jqrW5Zr4Svr1rJrn0kw4avanYgF4kuay7XFWxC3s0vr4UX3yDWa90van8Kr98 ZFn7Xrs29Fn7XjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7xRM-B_UUUUUU== X-Originating-IP: [112.83.182.118] X-CM-SenderInfo: pz0m23b26rjloofrz/xtbBdAhmOmSdLsK9LQAAsl X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_072011_945297_1E19ADC6 X-CRM114-Status: UNSURE ( 5.81 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Simplify address get in _relocate. Remove _link_end. Signed-off-by: Xiang W --- firmware/fw_base.S | 17 ++++++ 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 0e1b6fb..3d88704 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -97,17 +97,14 @@ _wait_relocate_copy_done: /* Relocate if load a [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz[at]126.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Simplify address get in _relocate. Remove _link_end. Signed-off-by: Xiang W --- firmware/fw_base.S | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 0e1b6fb..3d88704 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -97,17 +97,14 @@ _wait_relocate_copy_done: /* Relocate if load address != link address */ _relocate: lla t0, _link_start - REG_L t0, 0(t0) - lla t1, _link_end - REG_L t1, 0(t1) - lla t2, _load_start - REG_L t2, 0(t2) + REG_L t0, 0(t0) /* link start */ + lla t2, _fw_start /* load start */ beq t0, t2, _relocate_done - sub t3, t1, t0 - add t3, t3, t2 + sub t6, t2, t0 /* runtime offset */ + lla t3, _fw_reloc_end /* load end */ lla t4, _relocate_done - sub t4, t4, t2 - add t4, t4, t0 + sub t1, t3, t6 /* link end */ + sub t4, t4, t6 /* link _relocate_done */ blt t2, t0, _relocate_copy_to_upper _relocate_copy_to_lower: ble t1, t2, _relocate_copy_to_lower_loop @@ -506,8 +503,6 @@ _load_start: RISCV_PTR _fw_start _link_start: RISCV_PTR FW_TEXT_START -_link_end: - RISCV_PTR _fw_reloc_end .section .entry, "ax", %progbits .align 3 From patchwork Mon Jan 15 15:19:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiang W X-Patchwork-Id: 1886730 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=M8jerHTn; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=dWe50asM; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TDG6r1ZSYz23dX for ; Tue, 16 Jan 2024 02:20:35 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qMJU2yx0OXWll72K1q4Yu7hltiH6dXuk6IrLseia35c=; b=M8jerHTnZkWWf3 GaYs2z4+Id2NLCh5KxH/cvby9r+kusRFruF79w07lNJi0KTn96L6NupeRX2RU/dtgURuU11X4kPx2 6UhIPdyxVAgeAYDbR79wnphL6Z/b5428o0qi5TW92aOopcincLGUspyacYUlplKly7kiz+S0rgjeO lPTkrrinJaM7csO6blc1VPip0kDkP2JyVEnP9F5nhlV+s9erf9bLhU5PBqHMStvEUnURmvHtNZG+8 6BscPJPHzgkSP2UBY7+kAODJ2cIt1hsKeeyyzDATTIsA4M5Al87Uy7xbbwwxohgAj6yFnauCNle4M DiO4nQc2M0jNKVj49+MA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl3-009NJ7-2a; Mon, 15 Jan 2024 15:20:13 +0000 Received: from m16.mail.126.com ([220.197.31.8]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPOl1-009NHb-0q for opensbi@lists.infradead.org; Mon, 15 Jan 2024 15:20:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=D/zcO KiTSBMEbT97Dp0p0m92BcZbpWTGDfY7OMWKhPY=; b=dWe50asMCGiwV3SkXRWr/ yI/Nv70LY/yAXc664oNAZz0y87h5g+UakpTPdHxSmiGYW4cYeebuViD3olKegREx mhszR7dhZZzmon07HYBbdPyPD61Riy60EHWfar1211PBfvn1kGjf3j+4D8Vj03Qw CDxbMX/Lx1qOI2C0WDkNfk= Received: from T490.lan (unknown [112.83.182.118]) by gzga-smtp-mta-g1-3 (Coremail) with SMTP id _____wD3X9QcTaVlISS4AA--.61052S6; Mon, 15 Jan 2024 23:20:06 +0800 (CST) From: Xiang W To: opensbi@lists.infradead.org Cc: Xiang W Subject: [PATCH v2 4/4] firmware: fw_base.S: Simplify relocate Date: Mon, 15 Jan 2024 23:19:20 +0800 Message-ID: <20240115151930.392299-5-wxjstz@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240115151930.392299-1-wxjstz@126.com> References: <20240115151930.392299-1-wxjstz@126.com> MIME-Version: 1.0 X-CM-TRANSID: _____wD3X9QcTaVlISS4AA--.61052S6 X-Coremail-Antispam: 1Uf129KBjvJXoWxJF45GF1DuF4DXw4DWFyUWrg_yoW5Xw1rpr 43Ca43KanIqa48XFy0k3WUGr45Xa1DXF9rW3y7KFWrAr1rZr15A3W8JryFy3sIq3y0qwsY qFy2kr13Cay2yFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0p_sjjkUUUUU= X-Originating-IP: [112.83.182.118] X-CM-SenderInfo: pz0m23b26rjloofrz/xtbBcwdmOmSQAhfi9QABsf X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_072011_679153_491F5681 X-CRM114-Status: UNSURE ( 7.99 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Regardless of whether the FW_PIC macro is defined or not, the starting address of load/link and the runtime offset are required. Regardless of whether it is boot hart or not, the runtime offset are re [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [wxjstz[at]126.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Regardless of whether the FW_PIC macro is defined or not, the starting address of load/link and the runtime offset are required. Regardless of whether it is boot hart or not, the runtime offset are required. so the code to obtain these values is moved forward. Signed-off-by: Xiang W --- firmware/fw_base.S | 41 +++++++++++------------------------------ 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 3d88704..18dd0c5 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -52,6 +52,12 @@ _start: call fw_boot_hart add a6, a0, zero MOV_3R a0, s0, a1, s1, a2, s2 + + lla t2, _fw_start /* load start */ + lla t0, _link_start + REG_L t0, 0(t0) /* link start */ + sub t6, t2, t0 /* runtime offset */ + li a7, -1 beq a6, a7, _try_lottery /* Jump to relocation wait loop if we are not boot hart */ @@ -63,17 +69,7 @@ _try_lottery: amoadd.w a6, a7, (a6) bnez a6, _wait_relocate_copy_done - /* Save load address */ - lla t0, _load_start - lla t1, _fw_start - REG_S t1, 0(t0) - #ifdef FW_PIC - /* relocate the global table content */ - lla t0, _link_start - REG_L t0, 0(t0) - /* t1 shall has the address of _fw_start */ - sub t2, t1, t0 lla t0, __rel_dyn_start lla t1, __rel_dyn_end beq t0, t1, _relocate_done @@ -83,8 +79,8 @@ _try_lottery: bne t5, t3, 3f REG_L t3, 0(t0) REG_L t5, (REGBYTES * 2)(t0) /* t5 <-- addend */ - add t5, t5, t2 - add t3, t3, t2 + add t5, t5, t6 + add t3, t3, t6 REG_S t5, 0(t3) /* store runtime address to the GOT entry */ 3: @@ -96,11 +92,7 @@ _wait_relocate_copy_done: #else /* Relocate if load address != link address */ _relocate: - lla t0, _link_start - REG_L t0, 0(t0) /* link start */ - lla t2, _fw_start /* load start */ beq t0, t2, _relocate_done - sub t6, t2, t0 /* runtime offset */ lla t3, _fw_reloc_end /* load end */ lla t4, _relocate_done sub t1, t3, t6 /* link end */ @@ -143,14 +135,10 @@ _relocate_copy_to_upper_loop: blt t0, t1, _relocate_copy_to_upper_loop jr t4 _wait_relocate_copy_done: - lla t0, _fw_start - lla t1, _link_start - REG_L t1, 0(t1) - beq t0, t1, _wait_for_boot_hart + beq t0, t2, _wait_for_boot_hart lla t2, _boot_status lla t3, _wait_for_boot_hart - sub t3, t3, t0 - add t3, t3, t1 + sub t3, t3, t6 1: /* waitting for relocate copy done (_boot_status == 1) */ li t4, BOOT_STATUS_RELOCATE_DONE @@ -170,12 +158,7 @@ _relocate_done: */ lla t0, _boot_status #ifndef FW_PIC - lla t1, _link_start - REG_L t1, 0(t1) - lla t2, _load_start - REG_L t2, 0(t2) - sub t0, t0, t1 - add t0, t0, t2 + add t0, t0, t6 #endif li t1, BOOT_STATUS_RELOCATE_DONE REG_S t1, 0(t0) @@ -499,8 +482,6 @@ _relocate_lottery: RISCV_PTR 0 _boot_status: RISCV_PTR 0 -_load_start: - RISCV_PTR _fw_start _link_start: RISCV_PTR FW_TEXT_START