Skip to main content

elf_ring3_trampoline

Function elf_ring3_trampoline 

Source
extern "C" fn elf_ring3_trampoline() -> !
Expand description

Parameters for the Ring 3 trampoline, stored in a static so the Trampoline that switches to user address space and does IRETQ to Ring 3.

Parameters (entry point, stack top, arg0, address space) are read from the current task so that each ELF task carries its own copy. This makes the trampoline safe under SMP: two tasks can run their trampolines concurrently on different CPUs without any shared mutable state.