[国嵌攻略][115][字符驱动访问揭秘]
应用程序访问驱动程序
1.系统调用找到内核实现函数(read)
在这个过程中主要做了下面的工作:
r7 = 3
svc
说明:
svc是系统调用指令,当使用该指令时系统会从用户空间进入内核空间的固定入口处,内核会从r7寄存器中取出系统调用编号,然后内核会查找系统调用表找到对应的函数实现,然后调用该函数。该函数会根据file结构的struct file_operations结构找到驱动程序中对应实现的函数,然后调用到了驱动程序中实现的功能。
工作步骤:
1.跳转到统一入口
2.取出系统调用号
3.查找系统调用表
4.找到sys_read函数
5.跳到vfs_read函数
6.通过file->file_opreations->xxx_read函数找到驱动程序中的实现方法
7.调用驱动程序中的实现方法