From: Anup Patel <apatel@ventanamicro.com>
To: Atish Patra <atishp@rivosinc.com>
Cc: Andrew Jones <ajones@ventanamicro.com>,
Anup Patel <anup@brainfault.org>,
opensbi@lists.infradead.org, Andrew Waterman <andrew@sifive.com>,
Anup Patel <apatel@ventanamicro.com>
Subject: [PATCH 1/2] lib: sbi: Expose __sbi_sfence_vma_all() function
Date: Thu, 27 Nov 2025 16:51:20 +0530 [thread overview]
Message-ID: <20251127112121.334023-2-apatel@ventanamicro.com> (raw)
In-Reply-To: <20251127112121.334023-1-apatel@ventanamicro.com>
From: Andrew Waterman <andrew@sifive.com>
The __sbi_sfence_vma_all() can be shared by different parts of
OpenSBI so rename __tlb_flush_all() to __sbi_sfence_vma_all()
and make it global function.
Signed-off-by: Andrew Waterman <andrew@sifive.com>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
---
include/sbi/sbi_tlb.h | 2 ++
lib/sbi/sbi_hart_pmp.c | 3 ++-
lib/sbi/sbi_tlb.c | 4 ++--
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/include/sbi/sbi_tlb.h b/include/sbi/sbi_tlb.h
index 2c50fe85..3936e857 100644
--- a/include/sbi/sbi_tlb.h
+++ b/include/sbi/sbi_tlb.h
@@ -54,6 +54,8 @@ do { \
#define SBI_TLB_INFO_SIZE sizeof(struct sbi_tlb_info)
+void __sbi_sfence_vma_all();
+
int sbi_tlb_request(ulong hmask, ulong hbase, struct sbi_tlb_info *tinfo);
int sbi_tlb_init(struct sbi_scratch *scratch, bool cold_boot);
diff --git a/lib/sbi/sbi_hart_pmp.c b/lib/sbi/sbi_hart_pmp.c
index ab96e2fa..1655d87c 100644
--- a/lib/sbi/sbi_hart_pmp.c
+++ b/lib/sbi/sbi_hart_pmp.c
@@ -12,6 +12,7 @@
#include <sbi/sbi_hfence.h>
#include <sbi/sbi_math.h>
#include <sbi/sbi_platform.h>
+#include <sbi/sbi_tlb.h>
#include <sbi/riscv_asm.h>
/*
@@ -74,7 +75,7 @@ static void sbi_hart_pmp_fence(void)
* conditions.
*/
if (misa_extension('S')) {
- __asm__ __volatile__("sfence.vma");
+ __sbi_sfence_vma_all();
/*
* If hypervisor mode is supported, flush caching
diff --git a/lib/sbi/sbi_tlb.c b/lib/sbi/sbi_tlb.c
index 01b31f4e..ada60c32 100644
--- a/lib/sbi/sbi_tlb.c
+++ b/lib/sbi/sbi_tlb.c
@@ -29,7 +29,7 @@ static unsigned long tlb_fifo_off;
static unsigned long tlb_fifo_mem_off;
static unsigned long tlb_range_flush_limit;
-static void tlb_flush_all(void)
+void __sbi_sfence_vma_all(void)
{
__asm__ __volatile("sfence.vma");
}
@@ -86,7 +86,7 @@ static void sbi_tlb_local_sfence_vma(struct sbi_tlb_info *tinfo)
sbi_pmu_ctr_incr_fw(SBI_PMU_FW_SFENCE_VMA_RCVD);
if ((start == 0 && size == 0) || (size == SBI_TLB_FLUSH_ALL)) {
- tlb_flush_all();
+ __sbi_sfence_vma_all();
return;
}
--
2.43.0
--
opensbi mailing list
opensbi@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/opensbi
next prev parent reply other threads:[~2025-11-27 11:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-27 11:21 [PATCH 0/2] OpenSBI FWFT ADUE update fix Anup Patel
2025-11-27 11:21 ` Anup Patel [this message]
2025-11-27 11:21 ` [PATCH 2/2] lib: sbi: Flush TLBs upon FWFT ADUE change Anup Patel
2025-12-16 14:55 ` [PATCH 0/2] OpenSBI FWFT ADUE update fix 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=20251127112121.334023-2-apatel@ventanamicro.com \
--to=apatel@ventanamicro.com \
--cc=ajones@ventanamicro.com \
--cc=andrew@sifive.com \
--cc=anup@brainfault.org \
--cc=atishp@rivosinc.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.