[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: basic system call question
On Mon, May 14, 2001 at 12:45:49PM +0200, Erik Mouw wrote:
> On Mon, May 14, 2001 at 08:51:07AM +0100, Ralph Corderoy wrote:
> > > Why is the syscall "int 0x80"? Is this where the system is actually
> > > executed with the arguments previously listed? It is not the return
> > > value, and the system call number is already 42.
> >
> > The `int 0x80' generates the interrupt that switches to the kernel
> > which in turn seems to examine the %eax register to see what system
> > call is required. I'd guess all system calls generate the same
> > interrupt, 0x80, and the only thing to distuinguish between them is the
> > value of %eax.
>
> Your guess is correct (for i386, that is ;).
As long as you are only using Linux binaries and not SVR3/SVR4 or
BSD a.out binaries - they use the lcall7 (lcall27 for Solaris/ix86)
trapgate instead...
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/
IRC Channel: irc.openprojects.net / #kernelnewbies
Web Page: http://www.kernelnewbies.org/