WFET

Wait for event with timeout

This instruction is a hint instruction that indicates that the PE can enter a low-power state and remain there until either a local timeout event or a wakeup event occurs. Wakeup events include the event signaled as a result of executing the SEV instruction on any PE in the multiprocessor system. For more information, see Wait For Event mechanism and Send event.

As described in Wait For Event mechanism and Send event, the execution of a WFET instruction that would otherwise cause entry to a low-power state can be trapped to a higher Exception level.

Encoding: System

Variants: FEAT_WFxT (ARMv8.7)

313029282726252423222120191817161514131211109876543210
110101010000001100010000000
CRmop2Rd

WFET <Xt>

Decoding algorithm

if !IsFeatureImplemented(FEAT_WFxT) then EndOfDecode(Decode_UNDEF);

constant integer d = UInt(Rd);

Operation

constant integer localtimeout = UInt(X[d, 64]);

if Halted() && ConstrainUnpredictableBool(Unpredictable_WFxTDEBUG) then
    ExecuteAsNOP();

Hint_WFET(localtimeout);

Explanations

<Xt>: Is the 64-bit name of the general-purpose source register, encoded in the "Rd" field.