1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2019 Fraunhofer AISEC, 4 * Lukas Auer <lukas.auer@aisec.fraunhofer.de> 5 */ 6 7#include <asm/encoding.h> 8#include <asm/sbi.h> 9 10int riscv_init_ipi(void) 11{ 12 return 0; 13} 14 15int riscv_send_ipi(int hart) 16{ 17 ulong mask; 18 19 mask = 1UL << hart; 20 sbi_send_ipi(&mask); 21 22 return 0; 23} 24 25int riscv_clear_ipi(int hart) 26{ 27 csr_clear(CSR_SIP, SIP_SSIP); 28 29 return 0; 30} 31 32int riscv_get_ipi(int hart, int *pending) 33{ 34 /* 35 * The SBI does not support reading the IPI status. We always return 0 36 * to indicate that no IPI is pending. 37 */ 38 *pending = 0; 39 40 return 0; 41} 42