33.10.3.1.1. ARM WFE global monitor events

Examples:

SEV is not the only thing that can wake up a WFE, it is only an explicit software way to do it.

Notably, global monitor operations on memory accesses of regions marked by LDAXR and STLXR instructions can also wake up a WFE sleeping core.

This is done to allow spinlocks opens to automatically wake up WFE sleeping cores at free time without the need for a explicit SEV.

In the shown in the wfe_ldxr_stxr.cpp example, which can only terminate in gem5 user mode simulation because due to this event.

Note that that program still terminates when running on top of the Linux kernel as explained at: WFE from userland.