/** Copyright 2018, JΓ©rΓ΄me Duval. All rights reserved.* Distributed under the terms of the MIT License.*/#include <asm_defs.h>.text/* user space half of the syscall mechanism, to be copied into the commpage */// Intel sysenter/sysexitFUNCTION(x86_user_syscall_sysenter):// sysexit forces us to trash edx (-> eip) and ecx (-> esp), but they are// scratch registers anyway. We use ecx right away to store esp.movl %esp, %ecxsysenterretFUNCTION_END(x86_user_syscall_sysenter)SYMBOL(x86_user_syscall_sysenter_end):// AMD syscall/sysretFUNCTION(x86_user_syscall_syscall):syscallretFUNCTION_END(x86_user_syscall_syscall)SYMBOL(x86_user_syscall_syscall_end):