Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 1.52 KB

ext-ipi.adoc

File metadata and controls

44 lines (36 loc) · 1.52 KB

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.

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 IPI Send Errors below.

Table 1. IPI Send Errors
Error code Description

SBI_SUCCESS

IPI was sent to all the targeted harts successfully.

SBI_ERR_INVALID_PARAM

Either hart_mask_base or at least one hartid from hart_mask is not valid, i.e., either the hartid is not enabled by the platform or is not available to the supervisor.

SBI_ERR_FAILED

The request failed for unspecified or unknown other reasons.

Function Listing

Table 2. IPI Function List
Function Name SBI Version FID EID

sbi_send_ipi

0.2

0

0x735049