From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 8534238582AD for ; Fri, 5 Jan 2024 07:10:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8534238582AD Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8534238582AD Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704438609; cv=none; b=TtpEPsCG4XIpp+lsKCZ7f3RZpXu/4FILXooha71KuS0tqldOdzqZcQXsqQ5Y8hPN9FohxSIINLyFBjj9uvmdA/ivz/LtgtZd30t8qhp02Gz/i2+Be7reHUOB41euqbR3v3dhfYrooFk9B9+468H/RJs5TbHj0JzLDdw/FyKw3iU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704438609; c=relaxed/simple; bh=PouaN7+1EmWkOWqDH0wfYvOojEol/6dWqu7itypfQf0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=em/3k//MrBI1sSo/emERqqwdTnaA+YNbzzVU0IX0+cUabEsvFsIdeT6VJfsiCGVXTVIC5fCQfgMOpYREYbmAwv92zbYsX0yI3Schq+3e6Bhbev3ptWp/J259TbiRSo0Cc1y/xZHf+wkpqaq6Yrf2+fqp6qU2DlwC/YH96Ne5tGI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a28005f9b9cso143502066b.3 for ; Thu, 04 Jan 2024 23:10:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704438606; x=1705043406; darn=sourceware.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=tN1dUpZGTzfJqT2Jqm6d8PLCg9R3FneiRcnBuuTJoY8=; b=ZuKbPaA8UB/LuHZWl2E1UMe2fVYsDtyuefhSH/FmaS2JQjzDe9O2aLq/1b1EIE/T0J ZwnuFydIzaCJvM2Q5QacttU+cgdgoNZ5HdsuZQ7PjJDI3dAm19DSZls5P4gXAhd1gt/Z SY+/VzZx7bHj+zlucR/TXwN4wzLxrlCQsfrku4u9GOIvhD9TYTu6eiJVSjdH4AK5v6qf nKD9lk1PZDTkYlkCJcXYeDnobWKycy63w48/HEnjVhPhA/SExpjy3KMYPZiZdig4VkYM E5Rq5XeD2E/yBqoEveHi3rfm7oiRHWFiG+Lh3QrG7hyhVPuzcB/KO5sIsTF/6NUY+cA4 FqRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704438606; x=1705043406; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tN1dUpZGTzfJqT2Jqm6d8PLCg9R3FneiRcnBuuTJoY8=; b=BGZkVL3acRsCWtVZ6gzYrmIUvaqY6erfygfrEep3EqXyHAccq04esQIBSnQiEVfXVV FdibgiYwXdXTRrBZ142RuHolbb2k3dvo5hgJyjB4V6K60nVr1D91ciKwi7z/F4W83IG4 jQeKxz7xFfEIN2SHx9r92W7z6PS+FVo+rq+bqAiHfU+2BXPO0jCITJPRMiBm5luUtRpV OnL+X8XlLQvaGoZZ8gjJSZiMrlqcHqj74o0YksT+mXgd/LepGsG+5znhurug4BWNTBnu SHbwC9iUOfs/S9s3K8I+gVzGk+yfgE4X5EqZUBGI+vNWv+7sHWvR+fU6Ns45ba9gaSVo 9S1g== X-Gm-Message-State: AOJu0YwEY92xbs/zJhZeafEuQRFddE+tUrZ0X5xGcg8hVNNWkMtOkjs/ SSikYZxEcWEAU4p3dl4D00+y5VaC8bTlIDKPN2IwN6GGvVRc2Q== X-Google-Smtp-Source: AGHT+IGs72YTI+mY7vOnPp/88FEF5Nacf69eixKK629NOmS54NzRRmTULs5UPzj99qYEKdbcO4NpNSsaz+6Q0o5oqBA= X-Received: by 2002:a17:906:6d3:b0:a28:be7f:3ef4 with SMTP id v19-20020a17090606d300b00a28be7f3ef4mr858369ejb.24.1704438606099; Thu, 04 Jan 2024 23:10:06 -0800 (PST) MIME-Version: 1.0 References: <20240105070639.404903-1-hau.hsu@sifive.com> In-Reply-To: <20240105070639.404903-1-hau.hsu@sifive.com> From: Kito Cheng Date: Fri, 5 Jan 2024 15:09:54 +0800 Message-ID: Subject: Re: [PATCH v2] RISC-V: Initialize the jvt CSR To: Hau Hsu Cc: newlib@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: LGTM On Fri, Jan 5, 2024 at 3:07=E2=80=AFPM Hau Hsu wrote: > > Set symbol '__jvt_base$' as weak. So if the symbol is not set in the > linker script, the address would be 0. We initialize jvt CSR only if > the address is not 0. > > Also use csr number directly instead of using symbolic name to prevent th= e > backward incompatible issue. > > psabi reference: > https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/2d770815dc9a8b1= 1e61ea1abd487cb25ee56ad5e/riscv-elf.adoc#table-jump-relaxation > --- > libgloss/riscv/crt0.S | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/libgloss/riscv/crt0.S b/libgloss/riscv/crt0.S > index 7a4e4e32c..f1c5419a5 100644 > --- a/libgloss/riscv/crt0.S > +++ b/libgloss/riscv/crt0.S > @@ -26,6 +26,17 @@ _start: > addi gp, gp, %pcrel_lo(1b) > .option pop > > + /* Initialize jvt CSR (reg addr: 0x0017) */ > + .weak __jvt_base$ > + lla a0, __jvt_base$ > + beqz a0, .Ljvt_init_end > +.option push > +.option norelax > +.option arch, +zicsr > + csrw 0x17, a0 > +.option pop > +.Ljvt_init_end: > + > # Clear the bss segment > la a0, __bss_start > la a2, _end > -- > 2.37.1 >