免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2966 | 回复: 3
打印 上一主题 下一主题

弱问:怎么查找一个系统调用的在内核代码的实现? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-14 16:43 |只看该作者 |倒序浏览
1、怎么查看cpu是那种体系结构的?
2、怎么查找一个系统调用的在内核代码的实现?

linux-2.6.33 # grep 'sys_fsync' * -R
arch/xtensa/include/asm/unistd.h:__SYSCALL( 26, sys_fsync, 1)
arch/x86/kernel/syscall_table_32.S:     .long sys_fsync
arch/x86/include/asm/unistd_64.h:__SYSCALL(__NR_fsync, sys_fsync)
arch/x86/ia32/ia32entry.S:      .quad sys_fsync
arch/sparc/kernel/systbls_32.S:/*95*/   .long sys_fsync, sys_setpriority, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
arch/sparc/kernel/systbls_64.S: .word sys_fsync, sys32_setpriority, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
arch/sparc/kernel/systbls_64.S: .word sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept
arch/sh/kernel/syscalls_32.S:   .long sys_fsync
arch/sh/kernel/syscalls_64.S:   .long sys_fsync
arch/s390/kernel/compat_wrapper.S:      jg      sys_fsync               # branch to system call
arch/s390/kernel/syscalls.S:SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper)
arch/mn10300/kernel/entry.S:    .long sys_fsync
arch/mips/kernel/scall32-o32.S: sys     sys_fsync               1
arch/mips/kernel/scall64-64.S:  PTR     sys_fsync
arch/mips/kernel/scall64-n32.S: PTR     sys_fsync
arch/mips/kernel/scall64-o32.S: PTR     sys_fsync
arch/microblaze/kernel/syscall_table.S: .long sys_fsync
arch/m68knommu/kernel/syscalltable.S:   .long sys_fsync
arch/m68k/kernel/entry.S:       .long sys_fsync
arch/m32r/kernel/syscall_table.S:       .long sys_fsync
arch/ia64/kernel/entry.S:       data8 sys_fsync
arch/ia64/ia32/ia32_entry.S:    data8 sys_fsync
arch/h8300/kernel/syscalls.S:   .long SYMBOL_NAME(sys_fsync)
arch/frv/kernel/entry.S:        .long sys_fsync
arch/cris/arch-v32/kernel/entry.S:      .long sys_fsync
arch/cris/arch-v10/kernel/entry.S:      .long sys_fsync
arch/blackfin/mach-common/entry.S:      .long _sys_fsync
arch/avr32/kernel/syscall_table.S:      .long   sys_fsync
arch/arm/kernel/calls.S:                CALL(sys_fsync)
arch/alpha/kernel/systbls.S:    .quad sys_fsync                         /* 95 */
drivers/staging/pohmelfs/inode.c:               .nr_to_write = 0,       /* sys_fsync did this */
fs/ext4/fsync.c: * This is only called from sys_fsync(), sys_fdatasync() and sys_msync().
fs/ext4/inode.c: * Whenever the user wants stuff synced (sys_sync, sys_msync, sys_fsync)
fs/ext3/fsync.c: * This is only called from sys_fsync(), sys_fdatasync() and sys_msync().
fs/ext3/inode.c: * Whenever the user wants stuff synced (sys_sync, sys_msync, sys_fsync)
fs/ext2/inode.c:                .nr_to_write = 0,       /* sys_fsync did this */
include/linux/syscalls.h:asmlinkage long sys_fsync(unsigned int fd);
include/asm-generic/unistd.h:__SYSCALL(__NR_fsync, sys_fsync)

论坛徽章:
0
2 [报告]
发表于 2010-09-14 16:53 |只看该作者
回复 1# river617


   
怎么查看cpu是那种体系结构的?

cat /proc/cpuinfo

论坛徽章:
0
3 [报告]
发表于 2010-09-17 16:20 |只看该作者
打开内核的ftrace功能,跟踪一下

论坛徽章:
0
4 [报告]
发表于 2010-09-21 13:14 |只看该作者
搜SYSCALL_DEFINE, 第一个参数是系统调用的函数名,第2个是参数,有几个参数就是SYSCALL_DEFINE几
比如fsync
SYSCALL_DEFINE1(fsync, unsigned int, fd)
{
        return do_fsync(fd, 0);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP