Everything

def_tex

概要
タスク例外処理ルーチンの定義
C言語形式
 ER      def_tex ( ID tskid, T_DTEX *pk_dtex );
パラメータ
I/O
パラメータ
説明
I
 ID      tskid;
タスクのID
TSK_SELF: 自タスク
数値: タスクのID
I
 T_DTEX  *pk_dtex;
NULL: タスク例外処理ルーチン定義解除
NULL以外: タスク例外処理ルーチン定義情報を格納した領域へのポインタ

【 タスク例外処理ルーチン定義情報T_DTEXの構造 】
 typedef struct  t_dtex {
         ATR     texatr;         /*タスク例外処理ルーチン属性*/
         FP      texrtn;         /*タスク例外処理ルーチンの実行開始アドレス*/
 } T_DTEX;

機能
本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
tskidで指定されたタスクに対して,pk_dtexで指定された内容でタスク例外処理ルーチンを定義します。既にタスク例外処理ルーチンが定義されていた場合は,本サービス・コールによって定義内容が更新されます。
ただし,pk_dtexにNULLが指定された場合は,tskidで指定されたタスクのタスク例外処理ルーチンの定義を解除し,そのタスクの保留例外要因を0クリアし,さらにタスク例外禁止状態にします。
1 ) タスクID(tskid
タスク例外処理ルーチンを定義するタスクIDを指定します。tskid=TSK_SELF(=0)の指定により自タスクの指定になります。
2 ) タスク例外処理ルーチン属性(texatr
texatrには,TA_HLNGのみを指定できます。
- TA_HLNG(= 0x0000)
タスク例外処理ルーチンの記述言語は,C言語のみをサポートしています。
3 ) タスク例外処理ルーチンの実行開始アドレス(texrtn
texrtnには,タスク例外処理ルーチンの実行開始アドレスを指定します。
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_RSATR
-11
予約属性
- texatr != TA_HLNG
E_PAR
-17
パラメータ・エラー
- pk_dtex != NULLで,texrtn == NULL
E_ID
-18
不正ID番号
- tskid < 0
- tskid > VTMAX_TSK
E_CTX
-25
コンテキスト・エラー
- CPUロック状態から本サービス・コールを発行した。
- 非タスクから本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
E_MACV
-26
メモリ・アクセス違反
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- pk_dtex != NULLで,呼び出しタスクからのpk_dtexが示す領域に対するオペランド・リード・アクセス許可がない。
E_OACV
-27
オブジェクト・アクセス違反
- 呼出しタスクは,信頼されたドメインに所属していない。
E_NOEXS
-42
オブジェクト未生成
- tskidのタスクが存在しない。