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