为树莓派2添加系统调用

主要参考了Stack Overflow上的这个问题这篇博文。后者只是在arch/arm/kernel/calls.S中添加了一行CALL(),个人感觉这样就够了,而前者为了整个系统完整性还在一些头文件中添加了一些声明。

需要注意的一点是,最后用syscall()调用时,系统调用号为arch/arm/kernel/calls.S中新添加的CALL()的序号,如果有在arch/arm/include/uapi/asm/unistd.h中添加#define的话,也是相对于__NR_SYSCALL_BASE的偏移量,而不是include/uapi/asm-generic/unistd.h中用#define定义的序号(我很怀疑修改该文件的必要性)。

还有一点,添加的系统调用的实现不要写在已有的.c文件中,而要新建一个文件,然后在Makefileobj-y中添加一个对应.o文件,这样可大大减少重编译的时间,因为没有文件依赖新的.o文件,之后修改也方便。