割込み禁止と cpuロック

以前書いたH8SX用の割込みハンドラ。OS環境下で使うことはまったく考えていないコードなんだけど、別の人が勝手にitronに組み込んでいた。どうも挙動がおかしいらしい。ハンドラ内部で、あるコントローラの割込みマスクを解除するんだけど、その前にプリエンプトされて別タスクに吹っ飛んでいるっぽい。おかげで次のイベントが入らずハングアップする。ええええええ、つーかCPU割込みマスクされてないのか?とか、もう何も考えずにloc_cpu()とかしてみたんだけど、今度は妙な例外が起こってシステムダウンする。ああ、もーどうすりゃいいんだ、とディスパッチ先のタスクでマスク解除してしまった。いいんだろうか。っていかんよな。でも時間ない。調べてらんない。