mirror of
https://github.com/torvalds/linux.git
synced 2026-10-22 12:52:02 +02:00
The r2_emul_return field in struct thread_info was used in order to take
an alternate codepath when returning to userland, which (besides not
implementing certain features) effectively used the eretnc instruction
in place of eret. The difference is that eretnc doesn't clear LLBit, and
therefore doesn't cause a linked load & store sequence to fail due to
emulation like eret would.
The reason eret would usually be used to clear LLBit is so that after
context switching we ensure that a load performed by one task doesn't
influence another task. However commit
|
||
|---|---|---|
| .. | ||
| asm | ||
| uapi/asm | ||