- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#j3e2442e]
#backlinks
*説明 [#lffb05d7]
-パス: [[linux-2.6.33/]]
-FIXME: これは何?
--説明
**引数 [#s97547f8]
-rd
--
-rtemp
--
-offset
--
**返り値 [#xac0c9cf]
-
--
**参考 [#c47ea38f]
*実装 [#o10b0258]
@
@ Store/load the USER SP and LR registers by switching to the SYS
@ mode. Useful in Thumb-2 mode where "stm/ldm rd, {sp, lr}^" is not
@ available. Should only be called from SVC mode
@
.macro store_user_sp_lr, rd, rtemp, offset = 0
mrs \rtemp, cpsr
eor \rtemp, \rtemp, #(SVC_MODE ^ SYSTEM_MODE)
msr cpsr_c, \rtemp @ switch to the SYS mode
-
--[[linux-2.6.33/SVC_MODE]]
-
--[[linux-2.6.33/SYSTEM_MODE]]
str sp, [\rd, #\offset] @ save sp_usr
str lr, [\rd, #\offset + 4] @ save lr_usr
eor \rtemp, \rtemp, #(SVC_MODE ^ SYSTEM_MODE)
msr cpsr_c, \rtemp @ switch back to the SVC mode
.endm
*コメント [#h72f89ac]