8.1. IPI Extension (EID #0x735049 "sPI: s-mode IPI")
This extension replaces the legacy extension (EID #0x04). The other IPI related
legacy extension(0x3) is deprecated now. All the functions in this extension
follow the hart_mask as defined in the binary encoding section.
8.1.1. Function: Send IPI (FID #0)
struct sbiret sbi_send_ipi(unsigned long hart_mask,
unsigned long hart_mask_base)
Send an inter-processor interrupt to all the harts defined in hart_mask. Interprocessor interrupts manifest at the receiving harts as the supervisor software interrupts.
The possible error codes returned in sbiret.error are shown in the
Table 6 below.
| Error code | Description |
|---|---|
SBI_SUCCESS |
IPI was sent to all the targeted harts successfully. |
SBI_ERR_INVALID_PARAM |
At least one hartid constructed from |
SBI_ERR_FAILED |
The request failed for unspecified or unknown other reasons. |