ARM 系统调用的接口是什么,它在 Linux 内核中是在哪里定义的? [英] What is the interface for ARM system calls and where is it defined in the Linux kernel?

查看:28
本文介绍了ARM 系统调用的接口是什么,它在 Linux 内核中是在哪里定义的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我读过 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)

你应该从其他项目中作弊,比如 仿生uClibc.

You should cheat from other projects like bionic or uClibc.

这篇关于ARM 系统调用的接口是什么,它在 Linux 内核中是在哪里定义的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆