OS_RestoreInterrupts

構文

#include <iris/os.h>

OSIntrMode OS_RestoreInterrupts( OSIntrMode state );

引数

state 設定する割込み状態 (OSIntrMode 自体は u32 の typedefです)

返り値

この関数を呼ぶ前の状態です。
OSIntrMode_Irq 列挙型

OS_INTRMODE_IRQ_DISABLE IRQディセーブル(禁止)
OS_INTRMODE_IRQ_ENABLE IRQイネーブル(許可)

と、OSIntrMode_Fiq 列挙型

OS_INTRMODE_FIQ_DISABLE FIQディセーブル(禁止)
OS_INTRMODE_FIQ_ENABLE FIQイネーブル(許可)

の論理和となります。

説明

割り込み状態を設定します。
引数で与えた割込み状態にします。与える状態はOSIntrMode_Irq 列挙型で表される IRQの状態と、OSIntrMode_Fiq 列挙型で表される FIQ の状態の論理和で与えます。
主に、OS_EnableInterrupts() や OS_DisableInterrupts() の返り値である、以前の状態に戻す目的で使用することが想定されています。

返り値は、この関数を呼ぶ以前の状態となります。

内部動作

CPSRレジスタ(current program status register)の IRQとFIQ割込みの制御ビットをセット/リセットします。

参照

OS_EnableInterrupts, OS_DisableInterrupts

履歴

2004/01/14 FIQ も処理に含めるようにした
2003/12/01 初版