blob: 3c7fa186573aac5666117541df1c187be00d48da (
plain) (
tree)
|
|
#include "tasking.h"
__attribute__((noreturn))
void
umode_enter(void *ip, void *sp)
{
__asm__ volatile("mov %0, %%rsp; \
push %%rcx; \
mov %1, %%rcx; \
mov $0x202, %%r11; \
cli; \
swapgs; \
sysretq"::
"r"(sp), "r"(ip):
"memory");
for(;;);
}
|