ルネサス
sac_mem 概要 メモリ・オブジェクトのアクセス許可ベクタの変更 C言語形式 ER sac_mem ( VP base, ACVCT *p_acvct ); パラメータ I/O パラメータ 説明 I VP base; メモリ・オブジェクトの先頭アドレス I ACVCT *p_acvct; アクセス許可ベクタを格納した領域へのポインタ 【 アクセス許可ベクタACVCTの構造 】 typedef struct acvct { ACPTN acptn1; /*オペランド・リード・アクセス許可パターン*/ ACPTN acptn2; /*オペランド・ライト・アクセス許可パターン*/ ACPTN acptn3; /*実行アクセス許可パターン*/ } ACVCT; 機能 本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。 先頭アドレスがbaseのメモリ・オブジェクトのアクセス許可ベクタを,p_acvctで指定された内容に変更します。 戻り値 マクロ 数値 意味 E_OK 0 正常終了 E_PAR -17 パラメータ・エラー - p_acvct == NULL - acptn1 == acptn2 == acptn3 == 0 - acptn1,acptn2,またはacptn3の最大ドメインID(VTMAX_DOMAIN)より大きなドメインIDに対応するビットが1。 E_CTX -25 コンテキスト・エラー - CPUロック状態から本サービス・コールを発行した。 - 非タスクから本サービス・コールを発行した。 - 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。 E_MACV -26 メモリ・アクセス違反 - スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。 - 呼び出しタスクからのp_acvctが示す領域に対するオペランド・リード・アクセス許可がない。 E_OACV -27 オブジェクト・アクセス違反 - 呼出しタスクは,信頼されたドメインに所属していない。 - あるドメインにアクセス許可されるメモリ・オブジェクトが7個を超える。 E_NOEXS -42 オブジェクト未生成 - 先頭アドレスがbaseのメモリ・オブジェクトが存在しない。
ER sac_mem ( VP base, ACVCT *p_acvct );
VP base;
ACVCT *p_acvct;
typedef struct acvct {
ACPTN acptn1; /*オペランド・リード・アクセス許可パターン*/
ACPTN acptn2; /*オペランド・ライト・アクセス許可パターン*/
ACPTN acptn3; /*実行アクセス許可パターン*/
} ACVCT;