Re: Various x86 syscall mechanisms

From: Bill Davidsen
Date: Sun Jun 29 2008 - 20:04:23 EST


Roland McGrath wrote:
As far as I can work out, an x86_32 kernel will use "int 0x80" and "sysenter" for system calls. 64-bit kernel will use just "syscall" for 64-bit processes (though you can use "int 0x80" to access the 32-bit syscall interface from a 64-bit process), but will allow "sysenter", "syscall" or "int 0x80" for 32-on-64 processes.

That is correct, with the caveats below.

Thanks for setting this out clearly, I've seen most of it (from Andi, I think) in bits, and one of the scheduler folk had a comment relevant to scheduling which I can't find now, but this is both technical and historical, and thus a nice thing to hand to someone with a related question.

Well done.

--
Bill Davidsen <davidsen@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/