Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

syscall descriptor table

9 views
Skip to first unread message

Xin Tong

unread,
Apr 5, 2012, 6:00:02 PM4/5/12
to
Can anyone please describe to me how x86 syscall works ( i.e. how it
is dispatched to the correct function) on x86 ?

mov $1, %eax ;; __NR_exit = 1
mov $42, %ebx ;; status = 42
sysenter ;; perform the syscall!

what does the sysenter instruction do ? what is the difference aganst int 0x80.

Thanks

Xin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Jiri Slaby

unread,
Apr 6, 2012, 4:30:02 AM4/6/12
to
On 04/05/2012 11:55 PM, Xin Tong wrote:
> Can anyone please describe to me how x86 syscall works ( i.e. how it
> is dispatched to the correct function) on x86 ?
>
> mov $1, %eax ;; __NR_exit = 1
> mov $42, %ebx ;; status = 42
> sysenter ;; perform the syscall!
>
> what does the sysenter instruction do ? what is the difference aganst int 0x80.

Please refer to some processor manual. For example: Intel 64 and IA-32
Architectures Software Developer’s Manual. For the entry point see
ia32_sysenter_target in arch/x86/kernel/entry_32.S for x86_32 or
arch/x86/ia32/ia32entry.S for x86_64 with 32-bit binary.

regards,
--
js
suse labs
0 new messages