今、LANのドライバ開発をしているけど
LANコントローラ(LAN91C111)自体はリトルエンディアンで設計してあり
実際に搭載するCPUはSH-2はビッグエンディアンで、正直作るのにめんどくさい。

しかもレジスタアクセスはバイトスワップでデータアクセスはそのまま。
(接続によってはレジスタアクセスはそのままで、データアクセスはバイトスワップする場合もある)

I/Oレジスタアクセスする際にバイトスワップするべきか
I/Oレジスタの定義ファイルをリトルエンディアン用とビッグエンディアン用の二つを作るべきか・・・
2つだとメンテが面倒だがスワップの必要がない分ちょっと処理が早くなるかもしれないけど。

ところで誰かSH-2にLAN91C111を搭載して、コード作った人といる?