From 9777aeef41a613b3c27056a695d4d6007760b3a8 Mon Sep 17 00:00:00 2001 From: Atish Patra Date: Sun, 24 Nov 2019 23:33:47 -0800 Subject: lib: Add IPI extension in SBI This patch adds new IPI extension which replaces ipi related v0.1 extensions. This also adds a new API for ipi sending as trap handling is not necessary in v0.2 SBI IPI related extensions. It also modifies the IPI sending code which now accepts hart mask as a value instead of S-mode virtual address. Thus, the caller should set it to exact hart mask value everytime. Signed-off-by: Atish Patra Reviewed-by: Anup Patel --- lib/sbi/sbi_system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/sbi/sbi_system.c') diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c index 2cb30d4..cdc85d6 100644 --- a/lib/sbi/sbi_system.c +++ b/lib/sbi/sbi_system.c @@ -39,7 +39,8 @@ sbi_system_shutdown(struct sbi_scratch *scratch, u32 type) /* If that fails (or is not implemented) send an IPI on every * hart to hang and then hang the current hart */ - sbi_ipi_send_many(scratch, NULL, NULL, SBI_IPI_EVENT_HALT, NULL); + sbi_ipi_send_many(scratch, sbi_hart_available_mask(), 0, + SBI_IPI_EVENT_HALT, NULL); sbi_hart_hang(); } -- cgit v1.2.3