OpenSBI Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Radim Krčmář" <rkrcmar@ventanamicro.com>
To: opensbi@lists.infradead.org
Subject: [PATCH 2/8] lib: sbi: use 64 bit csr macros
Date: Tue, 15 Apr 2025 15:19:03 +0200	[thread overview]
Message-ID: <20250415131908.2699782-4-rkrcmar@ventanamicro.com> (raw)
In-Reply-To: <20250415131908.2699782-2-rkrcmar@ventanamicro.com>

Switch the most obvious cases to new macros.

Signed-off-by: Radim Krčmář <rkrcmar@ventanamicro.com>
---
 lib/sbi/sbi_hart.c  | 20 ++++----------------
 lib/sbi/sbi_timer.c |  7 +------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
index c343805c57cb..2d9ee60fd36c 100644
--- a/lib/sbi/sbi_hart.c
+++ b/lib/sbi/sbi_hart.c
@@ -86,10 +86,7 @@ static void mstatus_init(struct sbi_scratch *scratch)
 	}
 
 	if (sbi_hart_has_extension(scratch, SBI_HART_EXT_SMSTATEEN)) {
-		mstateen_val = csr_read(CSR_MSTATEEN0);
-#if __riscv_xlen == 32
-		mstateen_val |= ((uint64_t)csr_read(CSR_MSTATEEN0H)) << 32;
-#endif
+		mstateen_val = csr_read64(CSR_MSTATEEN0);
 		mstateen_val |= SMSTATEEN_STATEN;
 		mstateen_val |= SMSTATEEN0_CONTEXT;
 		mstateen_val |= SMSTATEEN0_HSENVCFG;
@@ -110,17 +107,11 @@ static void mstatus_init(struct sbi_scratch *scratch)
 		else
 			mstateen_val &= ~SMSTATEEN0_CTR;
 
-		csr_write(CSR_MSTATEEN0, mstateen_val);
-#if __riscv_xlen == 32
-		csr_write(CSR_MSTATEEN0H, mstateen_val >> 32);
-#endif
+		csr_write64(CSR_MSTATEEN0, mstateen_val);
 	}
 
 	if (sbi_hart_priv_version(scratch) >= SBI_HART_PRIV_VER_1_12) {
-		menvcfg_val = csr_read(CSR_MENVCFG);
-#if __riscv_xlen == 32
-		menvcfg_val |= ((uint64_t)csr_read(CSR_MENVCFGH)) << 32;
-#endif
+		menvcfg_val = csr_read64(CSR_MENVCFG);
 
 		/* Disable double trap by default */
 		menvcfg_val &= ~ENVCFG_DTE;
@@ -156,10 +147,7 @@ static void mstatus_init(struct sbi_scratch *scratch)
 		if (sbi_hart_has_extension(scratch, SBI_HART_EXT_SVADE))
 			menvcfg_val &= ~ENVCFG_ADUE;
 
-		csr_write(CSR_MENVCFG, menvcfg_val);
-#if __riscv_xlen == 32
-		csr_write(CSR_MENVCFGH, menvcfg_val >> 32);
-#endif
+		csr_write64(CSR_MENVCFG, menvcfg_val);
 
 		/* Enable S-mode access to seed CSR */
 		if (sbi_hart_has_extension(scratch, SBI_HART_EXT_ZKR)) {
diff --git a/lib/sbi/sbi_timer.c b/lib/sbi/sbi_timer.c
index 86e0db5ab399..998a9a67c2f0 100644
--- a/lib/sbi/sbi_timer.c
+++ b/lib/sbi/sbi_timer.c
@@ -139,12 +139,7 @@ void sbi_timer_event_start(u64 next_event)
 	 * the older software to leverage sstc extension on newer hardware.
 	 */
 	if (sbi_hart_has_extension(sbi_scratch_thishart_ptr(), SBI_HART_EXT_SSTC)) {
-#if __riscv_xlen == 32
-		csr_write(CSR_STIMECMP, next_event & 0xFFFFFFFF);
-		csr_write(CSR_STIMECMPH, next_event >> 32);
-#else
-		csr_write(CSR_STIMECMP, next_event);
-#endif
+		csr_write64(CSR_STIMECMP, next_event);
 	} else if (timer_dev && timer_dev->timer_event_start) {
 		timer_dev->timer_event_start(next_event);
 		csr_clear(CSR_MIP, MIP_STIP);
-- 
2.48.1


-- 
opensbi mailing list
opensbi@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/opensbi

  parent reply	other threads:[~2025-04-15 14:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-15 13:19 [PATCH 0/8] Reset more security-related CSRs Radim Krčmář
2025-04-15 13:19 ` [PATCH 1/8] lib: sbi: add 64 bit csr macros Radim Krčmář
2025-04-28 12:28   ` Anup Patel
2025-04-28 13:48     ` Radim Krčmář
2025-04-15 13:19 ` Radim Krčmář [this message]
2025-04-28 12:29   ` [PATCH 2/8] lib: sbi: use " Anup Patel
2025-04-15 13:19 ` [PATCH 3/8] lib: sbi_hart: reset hstatus Radim Krčmář
2025-04-28 12:27   ` Anup Patel
2025-04-15 13:19 ` [PATCH 4/8] lib: sbi_hart: reset sstateen and hstateen Radim Krčmář
2025-04-28 12:29   ` Anup Patel
2025-04-15 13:19 ` [PATCH 5/8] lib: sbi_hart: fix sstateen emulation Radim Krčmář
2025-04-28 12:34   ` Anup Patel
2025-04-15 13:19 ` [PATCH 6/8] lib: sbi_hart: reset mstateen0 Radim Krčmář
2025-04-28 12:35   ` Anup Patel
2025-04-15 13:19 ` [PATCH 7/8] lib: sbi_hart: add Ssstateen extension Radim Krčmář
2025-04-28 12:38   ` Anup Patel
2025-04-28 13:47     ` Radim Krčmář
2025-04-29  5:30       ` Anup Patel
2025-04-15 13:19 ` [PATCH 8/8] lib: sbi_hart: properly reset Ssstateen Radim Krčmář
2025-04-28 12:39   ` Anup Patel
2025-04-28 13:44     ` Radim Krčmář
2025-04-28 12:41 ` [PATCH 0/8] Reset more security-related CSRs Anup Patel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250415131908.2699782-4-rkrcmar@ventanamicro.com \
    --to=rkrcmar@ventanamicro.com \
    --cc=opensbi@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox