[国嵌攻略][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.调用驱动程序中的实现方法

原文地址:https://www.cnblogs.com/d442130165/p/5251126.html