Where is the Linux ISR Entry Point

丶灬走出姿态 提交于 2019-12-29 07:52:21

问题


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

  1. arch/x86/kernel/entry_32.S:system_call (INT $0x80)
  2. arch/x86/kernel/entry_32.S:ia32_sysenter_target (SYSENTER)

CONFIG_X86_64

  1. arch/x86/kernel/entry_64.S:system_call (SYSCALL, 64bit)

CONFIG_X86_64 and CONFIG_IA32_EMULATION

  1. arch/x86/ia32/ia32entry.S:ia32_sysenter_target (SYSENTER)
  2. arch/x86/ia32/ia32entry.S:ia32_cstar_target (SYSCALL, 32bit)
  3. arch/x86/ia32/ia32entry.S:ia32_syscall (INT $0x80)


来源:https://stackoverflow.com/questions/9238109/where-is-the-linux-isr-entry-point

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!