Re: Need help in understanding x86 syscall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2005-08-11 at 22:04 -0700, Jeff Carr wrote:

> But are you using libc6-i686? That enables NPTL. Perhaps the behavior
> difference is there? I'm surprised int 80 doesn't really cause an
> interrupt; it doesn't jump to the appropriate place in the x86 vector
> table? Interesting.

int 80 does jump to the appropriate place in the vector table. In
arch/i386/kernel/traps.c: init_traps we have the line:

        set_system_gate(SYSCALL_VECTOR,&system_call);

Which sets up a trap gate in the vector table to jump to system_call
upon an "int 80", and this is exactly what I see.  It does not, however,
jump to sysenter_entry.  That would happen when sysenter is used instead
of "int 80".

When I use to work with a bunch of hardware folks, they would get mad at
me when I said a system call was initiated with an interrupt.  They
always told me that an interrupt was from an external source.  Anything
that the CPU causes itself (system call, page fault, etc) is called an
exception, or trap.  So I would try to use those definitions from then
on.  As a software guy though, I thought of them as the same thing.

-- Steve


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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux