#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(;;); }