diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-01-15 11:42:51 +0530 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-01-22 12:10:40 +0530 |
commit | a8b4b83b7fef84b0491f5a897651a30f98d75a9a (patch) | |
tree | 66ce28ccd2f74daeb90e5fb9f3c8396e3be913b7 /lib/sbi/sbi_tlb.c | |
parent | da9b76b957dae1cf59272cc0f351ae425351c3c8 (diff) |
lib: Introduce sbi_tlb_fifo_request() API
Instead of directly calling sbi_ipi_send_many(), we introduce
sbi_tlb_fifo_request() for halting a set of HARTs.
This way in future we can assign any IPI event number for remote
FENCE within sbi_tlb.c only.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'lib/sbi/sbi_tlb.c')
-rw-r--r-- | lib/sbi/sbi_tlb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sbi/sbi_tlb.c b/lib/sbi/sbi_tlb.c index d821516..c07f4a4 100644 --- a/lib/sbi/sbi_tlb.c +++ b/lib/sbi/sbi_tlb.c @@ -14,6 +14,7 @@ #include <sbi/sbi_error.h> #include <sbi/sbi_fifo.h> #include <sbi/sbi_hart.h> +#include <sbi/sbi_ipi.h> #include <sbi/sbi_scratch.h> #include <sbi/sbi_tlb.h> #include <sbi/sbi_hfence.h> @@ -366,6 +367,13 @@ int sbi_tlb_fifo_update(struct sbi_scratch *rscratch, u32 hartid, void *data) return 0; } +int sbi_tlb_fifo_request(struct sbi_scratch *scratch, ulong hmask, + ulong hbase, struct sbi_tlb_info *tinfo) +{ + return sbi_ipi_send_many(scratch, hmask, hbase, + SBI_IPI_EVENT_FENCE, tinfo); +} + int sbi_tlb_fifo_init(struct sbi_scratch *scratch, bool cold_boot) { void *tlb_mem; |