From nobody Mon Apr 6 14:13:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1773925124; cv=none; d=zohomail.com; s=zohoarc; b=VkXeq5KrDV9hFUAjcJf2M31okk0T+hxmKEjm6kq1JUWTq70Wm7JybxKDGxUp7wa5jcEwSOnEYGK4XDSkyauDNIXLv0iy0s6VpOH5mPw62eaThOGBaM/QrY6n2PlDBaSOKdNJYFOYozuLOo1zuU8bxOCnuXkpHh00f955E8W1Mrs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773925124; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Sender:Subject:Subject:To:To:Message-Id; bh=Dxit3/RqumQ3wkm6hQ5dsF9C9V1VesFaqQe2BOvuk88=; b=J1wA4r54yx5j7hNhONaM6tYlySnJEbLX9NBimvTD4ArUwhfN9U/ZkziT6ev0RmlHDgwPPSXk0Qb/72qP7kndrF6cS+x2QpY9CpiuNSYxUQ3pM522qnGaLWLSFq6dsxoJxRCHPI9wqxha0ePtNyQSeQbfPISMzzNXLjnf5Cwg15U= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773925124151907.9908322004213; Thu, 19 Mar 2026 05:58:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w3Cvm-0005Ta-Sy; Thu, 19 Mar 2026 08:56:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w38l3-0006Ov-Tt for qemu-devel@nongnu.org; Thu, 19 Mar 2026 04:29:33 -0400 Received: from exmail.andestech.com ([60.248.187.195] helo=Atcsqr.andestech.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w38l0-0008Np-Eo for qemu-devel@nongnu.org; Thu, 19 Mar 2026 04:29:33 -0400 Received: from mail.andestech.com (ATCPCS34.andestech.com [10.0.1.134]) by Atcsqr.andestech.com with ESMTP id 62J8SvwO014752; Thu, 19 Mar 2026 16:28:57 +0800 (+08) (envelope-from ycliang@andestech.com) Received: from swlinux02.andestech.com (10.0.15.183) by ATCPCS34.andestech.com (10.0.1.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Mar 2026 16:28:57 +0800 To: CC: , , , , , , CL Wang Subject: [PATCH] riscv: spl: Clear BSS as early as possible Date: Thu, 19 Mar 2026 16:28:51 +0800 Message-ID: <20260319082851.3262146-1-ycliang@andestech.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.0.15.183] X-ClientProxiedBy: ATCPCS33.andestech.com (10.0.1.100) To ATCPCS34.andestech.com (10.0.1.134) X-DKIM-Results: atcpcs34.andestech.com; dkim=none; X-DNSRBL: X-SPAM-SOURCE-CHECK: pass X-MAIL: Atcsqr.andestech.com 62J8SvwO014752 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=60.248.187.195; envelope-from=ycliang@andestech.com; helo=Atcsqr.andestech.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 19 Mar 2026 08:56:52 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Leo Yu-Chi Liang From: Leo Yu-Chi Liang via qemu development Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1773925126749154100 Content-Type: text/plain; charset="utf-8" From: CL Wang Move the BSS clearing sequence as early as possible, directly after the hart lottery selection. This ensures all BSS variables are properly zeroed before any C code executes. Signed-off-by: CL Wang --- arch/riscv/cpu/start.S | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S index 7bafdfd390a..c54a194f5b1 100644 --- a/arch/riscv/cpu/start.S +++ b/arch/riscv/cpu/start.S @@ -166,7 +166,18 @@ call_harts_early_init: bnez tp, secondary_hart_loop #endif #endif -=09 + +#ifdef CONFIG_XPL_BUILD + la t0, __bss_start + la t1, __bss_end + beq t0, t1, spl_clear_bss_done +1: + SREG zero, 0(t0) + addi t0, t0, REGBYTES + blt t0, t1, 1b +spl_clear_bss_done: +#endif + mv a0, s0 jal board_init_f_init_reserve =20 @@ -219,16 +230,6 @@ wait_for_gd_init: jalr t5 /* jump to board_init_f() */ =20 #ifdef CONFIG_XPL_BUILD -spl_clear_bss: - la t0, __bss_start - la t1, __bss_end - beq t0, t1, spl_stack_gd_setup - -spl_clear_bss_loop: - SREG zero, 0(t0) - addi t0, t0, REGBYTES - blt t0, t1, spl_clear_bss_loop - spl_stack_gd_setup: jal spl_relocate_stack_gd =20 --=20 2.34.1