summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sbi/sbi_platform.h18
-rw-r--r--include/sbi/sbi_tlb.h2
2 files changed, 18 insertions, 2 deletions
diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index 3e9616f6..e6a4a317 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -41,6 +41,7 @@
#define SBI_PLATFORM_HART_INDEX2ID_OFFSET (0x60 + (__SIZEOF_POINTER__ * 2))
#define SBI_PLATFORM_TLB_RANGE_FLUSH_LIMIT_DEFAULT (1UL << 12)
+#define SBI_PLATFORM_TLB_FIFO_NUM_ENTRIES 8
#ifndef __ASSEMBLER__
@@ -125,6 +126,9 @@ struct sbi_platform_operations {
/** Get tlb flush limit value **/
u64 (*get_tlbr_flush_limit)(void);
+ /** Get tlb fifo num entries*/
+ u32 (*get_tlb_num_entries)(void);
+
/** Initialize platform timer for current HART */
int (*timer_init)(bool cold_boot);
/** Exit platform timer for current HART */
@@ -326,6 +330,20 @@ static inline u64 sbi_platform_tlbr_flush_limit(const struct sbi_platform *plat)
}
/**
+ * Get platform specific tlb fifo num entries.
+ *
+ * @param plat pointer to struct sbi_platform
+ *
+ * @return number of tlb fifo entries
+*/
+static inline u32 sbi_platform_tlb_fifo_num_entries(const struct sbi_platform *plat)
+{
+ if (plat && sbi_platform_ops(plat)->get_tlb_num_entries)
+ return sbi_platform_ops(plat)->get_tlb_num_entries();
+ return SBI_PLATFORM_TLB_FIFO_NUM_ENTRIES;
+}
+
+/**
* Get total number of HARTs supported by the platform
*
* @param plat pointer to struct sbi_platform
diff --git a/include/sbi/sbi_tlb.h b/include/sbi/sbi_tlb.h
index 48f1962d..55dcab08 100644
--- a/include/sbi/sbi_tlb.h
+++ b/include/sbi/sbi_tlb.h
@@ -20,8 +20,6 @@
/* clang-format on */
-#define SBI_TLB_FIFO_NUM_ENTRIES 8
-
struct sbi_scratch;
struct sbi_tlb_info {