Как мы можем реализовать системный вызов с помощью sysenter/syscall непосредственно в x86 Linux? Кто-нибудь может помочь? Было бы еще лучше, если бы вы также могли показать код для платформы amd64.
Я знаю в x86, мы можем использовать
__asm__(
" movl $1, %eax \n"
" movl $0, %ebx \n"
" call *%gs:0x10 \n"
);
для косвенной маршрутизации в sysenter.
Но как мы можем с помощью sysenter/syscall напрямую запрограммировать системный вызов?
Я нахожу материал http://damocles.blogbus.com/tag/sysenter/. Но все еще трудно понять.