linux-2.6.33/__pabt_svc()(arm)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#ef349aea]
#backlinks
*説明 [#k35506fc]
-パス: [[linux-2.6.33/arch/arm/kernel/entry-armv.S]]
-FIXME: これは何?
--説明
**引数 [#b3a2b849]
-なし
**返り値 [#z29f2667]
-なし
**参考 [#k1516bbe]
*実装 [#dea800bb]
.align 5
-2^5 = 32バイト境界に配置する
__pabt_svc:
svc_entry
-
--[[linux-2.6.33/svc_entry()]]
@
@ re-enable interrupts if appropriate
@
mrs r9, cpsr
tst r3, #PSR_I_BIT
biceq r9, r9, #PSR_I_BIT
-
--[[linux-2.6.33/PSR_I_BIT]]
mov r0, r2 @ pass address of aborted instruction.
#ifdef MULTI_PABORT
-
--[[linux-2.6.33/MULTI_PABORT]]
ldr r4, .LCprocfns
-
--[[linux-2.6.33/.LCprocfns()]]
mov lr, pc
ldr pc, [r4, #PROCESSOR_PABT_FUNC]
-
--[[linux-2.6.33/PROCESSOR_PABT_FUNC]]
#else
bl CPU_PABORT_HANDLER
-
--[[linux-2.6.33/CPU_PABORT_HANDLER()]]
#endif
msr cpsr_c, r9 @ Maybe enable interrupts
mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler
-
--[[linux-2.6.33/do_PrefetchAbort()]]
@
@ IRQs off again before pulling preserved data off the ...
@
disable_irq
-
--[[linux-2.6.33/disable_irq()]]
@
@ restore SPSR and restart the instruction
@
ldr r2, [sp, #S_PSR]
svc_exit r2 @ return from exception
-
--[[linux-2.6.33/svc_exit()]]
UNWIND(.fnend )
-
--[[linux-2.6.33/UNWIND()]]
ENDPROC(__pabt_svc)
-
--[[linux-2.6.33/ENDPROC()]]
*コメント [#beef510b]
終了行:
*参照元 [#ef349aea]
#backlinks
*説明 [#k35506fc]
-パス: [[linux-2.6.33/arch/arm/kernel/entry-armv.S]]
-FIXME: これは何?
--説明
**引数 [#b3a2b849]
-なし
**返り値 [#z29f2667]
-なし
**参考 [#k1516bbe]
*実装 [#dea800bb]
.align 5
-2^5 = 32バイト境界に配置する
__pabt_svc:
svc_entry
-
--[[linux-2.6.33/svc_entry()]]
@
@ re-enable interrupts if appropriate
@
mrs r9, cpsr
tst r3, #PSR_I_BIT
biceq r9, r9, #PSR_I_BIT
-
--[[linux-2.6.33/PSR_I_BIT]]
mov r0, r2 @ pass address of aborted instruction.
#ifdef MULTI_PABORT
-
--[[linux-2.6.33/MULTI_PABORT]]
ldr r4, .LCprocfns
-
--[[linux-2.6.33/.LCprocfns()]]
mov lr, pc
ldr pc, [r4, #PROCESSOR_PABT_FUNC]
-
--[[linux-2.6.33/PROCESSOR_PABT_FUNC]]
#else
bl CPU_PABORT_HANDLER
-
--[[linux-2.6.33/CPU_PABORT_HANDLER()]]
#endif
msr cpsr_c, r9 @ Maybe enable interrupts
mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler
-
--[[linux-2.6.33/do_PrefetchAbort()]]
@
@ IRQs off again before pulling preserved data off the ...
@
disable_irq
-
--[[linux-2.6.33/disable_irq()]]
@
@ restore SPSR and restart the instruction
@
ldr r2, [sp, #S_PSR]
svc_exit r2 @ return from exception
-
--[[linux-2.6.33/svc_exit()]]
UNWIND(.fnend )
-
--[[linux-2.6.33/UNWIND()]]
ENDPROC(__pabt_svc)
-
--[[linux-2.6.33/ENDPROC()]]
*コメント [#beef510b]
ページ名: