宏asmlinkage则告诉GCC不要用寄存器传递参数.
asmlinkage和fastcall不能共存。
__user 宏简单告诉编译器(通过 noderef)不应该解除这个指针的引用(因为在当前地址空间中它是没有意义的)。 不明白什么意义? 有些网友说是为用户空间的, 我自己用了, 用的不是用户空间一样没什么问题.我查了内核源码是这样定义的:
./include/linux/compiler.h:# define __user __attribute__((noderef, address_space(1)))
希望将来可以真正明白Why......
