kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Different ways of doing a system call
@ 2016-07-17 15:14 Aleksander Alekseev
  0 siblings, 0 replies; only message in thread
From: Aleksander Alekseev @ 2016-07-17 15:14 UTC (permalink / raw)
  To: kernelnewbies

Hello

Recently I've explored different ways of doing a system call on Linux
(only on x86 and x64 architectures). Here is what I discovered so far:

* int 0x80        (x86, slow)
* sysenter        (x86, fast)
* vsyscall        (x86, deprecated)
* VDSO trampoline (x86, fast)
* syscall         (x64, fast)

Tell me, please:

* Didn't I miss anything?
* What are _recommended_ ways of doing a system call on x86 and x64?
* I just wanted to clarify - in theory it's OK to use both say int 0x80
  and syscall in the same ELF64 binary? Wouldn't it cause a program to
  crash or something?

-- 
Best regards,
Aleksander Alekseev

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-07-17 15:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-17 15:14 Different ways of doing a system call Aleksander Alekseev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).