问题
I'm trying to understand the system call interface and implementation in the Linux kernel. I know about entry.S
and the relationship between libc
headers and implementation. What I want to know is where in the kernel is the int 80h
received for the first time i.e. the place that decides that it's actually the 80h interrupt. Can anyone point me to the LXR link for this please?
回答1:
CONFIG_X86_32
- arch/x86/kernel/entry_32.S:system_call (INT $0x80)
- arch/x86/kernel/entry_32.S:ia32_sysenter_target (SYSENTER)
CONFIG_X86_64
- arch/x86/kernel/entry_64.S:system_call (SYSCALL, 64bit)
CONFIG_X86_64 and CONFIG_IA32_EMULATION
- arch/x86/ia32/ia32entry.S:ia32_sysenter_target (SYSENTER)
- arch/x86/ia32/ia32entry.S:ia32_cstar_target (SYSCALL, 32bit)
- arch/x86/ia32/ia32entry.S:ia32_syscall (INT $0x80)
来源:https://stackoverflow.com/questions/9238109/where-is-the-linux-isr-entry-point