96bitの割り込みマスクを作るには?
まやさんがBF548へのTOPPERS/JSPの移植で躓いている様子。
BF548のハードウェアリファレンスマニュアルを確認すると、IRQが96種類定義されています。他のプロセッサでは64種以内におさまっていたため、割り込みマスクをunsigned long longで各ビットに割り当てて表現できていたわけですが、int128という定義がないため、配列を使用しないと96bitを表現できません。
私だったら、という前提でお話ししますが、これは単にchg_ims()やget_ims()の定義を変えてしまいます。たとえば
typdef unsigned int[3] MS; extern ER chg_ims ( MS ims ); extern ER get_ims ( MS ims );
typedefの使い方、これでいいんでしたっけ orz