sev

Send Event (Thumb)

SEV

Send event (Thumb).

Details

Send Event sets the event register and wakes all processors in the same inner-shareable domain that are waiting on WFE. This is used for synchronization between multiple CPUs or threads. No registers or condition flags are modified. SEV is available in all privilege levels.

Pseudocode Operation

EventRegister ← 1
WakeupInnerShareableDomain()

Example

SEV

Encoding

Binary Layout
10111111
0100
0000
 
Format Thumb System
Opcode 0xBF40
Extension T32 (Base)

Operands

Reference (Arm AArch32 ISA)

Instruction Forms

Encoding Instruction ISA Bit pattern
0x0320F004 SEV{<c>}{<q>} A32 cond | 00110 | 0 | 10 | 00 | 00 | 1 | 1 | 1 | 1 | 000000000100
0xBF40 SEV{<c>}{<q>} T32 10111111 | 0100 | 0000
0xF3AF8004 SEV{<c>}.W T32 111100111010 | 1 | 1 | 1 | 1 | 10 | 0 | 0 | 0 | 000 | 0000 | 0100

Description

Send Event is a hint instruction. It causes an event to be signaled to all PEs in the multiprocessor system. For more information, see Wait For Event and Send Event.

Operation

if ConditionPassed() then
    EncodingSpecificOperations();
    SendEvent();