WFIT

Wait for interrupt 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. For more information, see Wait For Interrupt.

As described in Wait For Interrupt, the execution of a WFIT 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
110101010000001100010000001
CRmop2Rd

WFIT <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_WFIT(localtimeout);

Explanations

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