问题描述
我读过 Linux 中的系统调用,到处都有关于 x86 架构的描述(0x80
中断和 SYSENTER
).但是我无法在 ARM 架构中跟踪系统调用的文件和进程.任何人都可以帮忙.
I have read about system calls in Linux, and everywhere description is given regarding x86 architecture (0x80
interrupt and SYSENTER
). But I am not able to track down the files and process for a system call in ARM architecture. Can anyone please help.
我知道的几个相关文件是:
Few relevant files which I got to know are:
arch/arm/kernel/calls.S
arch/arm/kernel/entry-common.S(需要解释)
推荐答案
在 ARM 世界中,您通过 supervisor call/svc
(向内核发出信号的机制)执行软件中断
代码>(以前称为 SWI).
In ARM world, you do a software interrupt
(mechanism to signal the kernel) by supervisor call / svc
(previously called SWI).
ARM 汇编 (UAL) 语法如下所示:
ARM assembly (UAL) syntax looks like this:
SVC{<c>}{<q>} {#}<imm>
(在 Linux 中你需要通过 #0)
(In Linux you need to pass #0)
You should cheat from other projects like bionic or uClibc.
这篇关于ARM 系统调用的接口是什么,它在 Linux 内核中是在哪里定义的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!