[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kernel softfloat emulation



TAKEMURA Shin <takemura@netbsd.org> writes:
> 1.カーネルによる FPU エミュレーションがあれば、ユーザランドの
>   バイナリは FPU あり/なしゴチャマゼでぜんぜん OK ですか?
>   ライブラリ(ダイナミックリンクライブラリ)など、互換性は
>   全然問題ないのでしたっけ?

浮動小数点の引数や返値の受渡し規定が異なるので、バイナリ互換性はありませ
ん。したがって、userlandのバイナリは混在することはできません。整数演算中
心のプログラムだと異常に気が付かないかもしれませんが。

> 2.実行速度の点で問題あるので、完全 SOFTFLOAT のパッケージも
>   供給するべきだと思うのですが、
>   パッケージのディレクトリが mipsel になると、完全 SOFTFLOAT のは
>   どこに置くのがいいのでしょうか。別途 mipssfel を作る?

この辺りは悩むところです。パッケージだけで済む話ではないので。

softfloatで作ったバイナリを実行するためには、バイナリ自身だけでなく、実
行時にリンクされるすべてのライブラリのバイナリもsoftfloat用に別に用意し
てそちらを使う必要があります。あるいはstatic linkするか。

もともと浮動小数点演算性能が必要ないアプリケーション向けに作られたCPUで
すので、性能をすっぱりあきらめてしまって、エミュレーションだけにしてしま
うという手もあります。

カーネルでエミュレートしようが、softfloatで計算しようが、遅いことには変
わりはありません。程度の差はありますが。

篠原