add r1, sp, #S_OFF

2: mov why, #0 @ no longer a real syscall

cmp scno, #ARMSWI_OFFSET

eor r0, scno, #OS_NUMBER 《《 20 @ put OS number back

bcs SYMBOL_NAME(arm_syscall)

b SYMBOL_NAME(sys_ni_syscall) @ not private func

/*

* This is the really slow path. We‘re going to be doing

* context switches, and waiting for our parent to respond.

*/

__sys_trace:

add r1, sp, #S_OFF

mov r0, #0 @ trace entry [IP = 0]

bl SYMBOL_NAME(syscall_trace)

/*

//2007-07-01 gliethttp [entry-header.S]

//Like adr, but force SVC mode (if required)

.macro adrsvc, cond, reg, label

adr/cond /reg, /label

.endm

//对应反汇编:

//add lr, pc, #16 ; lr = __sys_trace_return

*/

adrsvc al, lr, __sys_trace_return @ return address

add r1, sp, #S_R0 + S_OFF @ pointer to regs

cmp scno, #NR_syscalls @ check upper syscall limit

ldmccia r1, {r0 - r3} @ have to reload r0 - r3

ldrcc pc, [tbl, scno, lsl #2] @ call sys_* routine

b 2b

__sys_trace_return:

str r0, [sp, #S_R0 + S_OFF]! @ save returned r0

mov r1, sp

mov r0, #1 @ trace exit [IP = 1]

bl SYMBOL_NAME(syscall_trace)

b ret_disable_irq

.align 5

#ifdef CONFIG_ALIGNMENT_TRAP

.type __cr_alignment, #object

__cr_alignment:

.word SYMBOL_NAME(cr_alignment)

#endif

.type sys_call_table, #object

ENTRY(sys_call_table)

#include “calls.S”

关于嵌入式技术就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查