作者:罗宇哲,中国科学院软件研究所智能软件研究中心
上一期中我们介绍了ARM Linux内核中系统调用执行的过程,这一期我们将尝试向ARM Linux内核中增加一个系统调用,下一期中我们将搭建一个ARM64 Linux内核的测试环境,用于测试本期所增加的系统调用,并提供一个搭建ARM64 Linux内核测试环境的脚本。
一、向ARM Linux内核中增加一个系统调用
我们向ARM Linux内核中增加一个简单的打印相关信息的系统调用,该系统调用能打印出用户输入的数字。我们首先用SYSCALL_DEFINEx宏定义该系统调用的函数体,由于我们用到了打印函数printk(),而该函数的定义在/kernel/printk文件中,因此我们直接在该文件中增加print系统调用的定义:
该系统调用的将会被扩展为sys_print(),其输入参数为一个整型,我们在include/linux/syscalls.h文件中声明sy