Everything

loc_cpu

iloc_cpu

概要
CPUロック状態への移行
C言語形式
 

 ER      loc_cpu ( void );
 ER      iloc_cpu ( void );
パラメータ
なし
機能
システム状態種別をCPUロック解除状態からCPUロック状態へと変更します。これにより,本サービス・コールの発行からunl_cpu,またはiunl_cpuが発行されるまでの間,“EIレベル・マスカブル割り込みの受け付け”,および“サービス・コール(一部のサービス・コールを除く)の発行”が禁止されます。
 
発行可能なサービス・コール
機能概要
CPUロック状態への移行
CPUロック状態の解除
CPUロック状態の参照
ディスパッチ禁止状態の参照
コンテキスト種別の参照
ディスパッチ保留状態の参照

なお,RI850V4では,本サービス・コールの発行からunl_cpu,またはiunl_cpuが発行されるまでの間にEIレベル・マスカブル割り込みが発生した場合には,該当割り込み処理(割り込みハンドラ)への移行をunl_cpu,またはiunl_cpuが発行されるまで遅延しています。
備考1 本サービス・コールの発行により変更したCPUロック状態の解除は,本サービス・コールを発行した処理プログラムが終了する以前に行う必要があります。
備考2 本サービス・コールでは,ロック要求のキューイングが行われません。このため,すでに本サービス・コールが発行され,システム状態種別がCPUロック状態へと変更されていた場合には,何も処理は行わず,エラーとしても扱いません。
備考3 本サービス・コールでは,EIレベル・マスカブル割り込みの受け付け禁止処理として,プライオリティ・マスク・レジスタPMRのPMnビットに対する操作を行います。
なお,操作対象となるPMnビットは,コンフィギュレーション時に最大割り込み優先度maxintpriで定義した割り込み優先度範囲となります。
本サービス・コールでは,プログラム・ステータス・ワードPSWのIDビットに対する操作は行われません。
備考4 RI850V4では,一定周期で発生する基本クロック用タイマ割り込みを利用して時間管理機能を実現しています。このため,本サービス・コールの発行により,該当基本クロック用タイマ割り込みの受け付けを禁止状態へと変更した際には,時間管理機能が正常に動作しなくなる場合があります。
備考5 RI850V4では,本サービス・コールの発行からunl_cpu,またはiunl_cpuが発行されるまでの間に“本サービス・コール,またはsns_xxx以外のサービス・コール”を発行した場合には,戻り値としてE_CTXを返します。
戻り値
マクロ
数値
意味
E_OK
0
正常終了