2 * Hyper Operating System V4 Advance
4 * Copyright (C) 1998-2011 by Project HOS
5 * http://sourceforge.jp/projects/hos/
15 /************************************************
18 _KERNEL_T_CTXCB *pk_ctxcb, r0 :作成するコンテキスト
21 VP_INT par1, r3 :実行時パラメータ
22 VP_INT par2) sp[0]:実行時パラメータ
23 ************************************************/
24 .global _kernel_cre_ctx
27 .type _kernel_cre_ctx, %function
29 sub r1, #36 /* スタックを確保 */
30 str r2, [r1, #0] /* r4 部分にentryを設定 */
31 str r3, [r1, #4] /* r5 部分にpar1を設定 */
32 ldr r2, [sp, #0] /* par2を取り出し */
33 str r2, [r1, #8] /* r6 部分にpar2を設定 */
34 movw r2, #:lower16:(ctx_entry+1)
35 movt r2, #:upper16:(ctx_entry+1)
36 str r2, [r1, #16] /* lr 部分にエントリーアドレスを設定 */
37 str r1, [r0] /* ctxcb に新 sp を保存 */
40 /************************************************
42 ************************************************/
44 mov r0, r5 /* par1を設定 */
45 mov r1, r6 /* par2を設定 */
49 .size _kernel_cre_ctx, .-_kernel_cre_ctx