-
unl_cpu
iunl_cpu
-
ER unl_cpu ( void );
ER iunl_cpu ( void );
|
システム状態種別をCPUロック状態からCPUロック解除状態へと変更します。これにより,
loc_cpu,または
iloc_cpuの発行により抑制(禁止)されていた“EIレベル・マスカブル割り込みの受け付け”,および“サービス・コールの発行”が許可されます。
なお,RI850V4では,
loc_cpu,または
iloc_cpuの発行から本サービス・コールが発行されるまでの間にEIレベル・マスカブル割り込みが発生した場合には,該当割り込み処理(割り込みハンドラ)への移行を本サービス・コールが発行されるまで遅延しています。
備考1 本サービス・コールでは,解除要求のキューイングが行われません。このため,すでに本サービス・コールが発行され,システム状態種別がCPUロック解除状態へと変更されていた場合には,何も処理は行わず,エラーとしても扱いません。
備考2 本
サービス・コールでは,EIレベル・マスカブル割り込みの受け付け許可処理として,プライオリティ・マスク・レジスタPMRのPMnビットに対する操作を行います。
なお,操作対象となるPMnビットは,コンフィギュレーション時に最大割り込み優先度maxintpriで定義した割り込み優先度範囲となります。
本サービス・コールでは,プログラム・ステータス・ワードPSWのIDビットに対する操作は行われません。
備考3 本サービス・コールでは,
dis_dspの発行により変更されたディスパッチ禁止状態の解除処理は行われません。したがって,CPUロック状態以前のシステム状態種別がディスパッチ禁止状態であった場合には,本サービス・コール発行後のシステム状態種別は,ディスパッチ禁止状態となります。