[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kernel softfloat emulation
From: Takao Shinohara <shin@sm.sony.co.jp>
Subject: Re: kernel softfloat emulation
Date: Fri, 19 Nov 99 12:35:00 +0900
> Jun Ebihara <jun@soum.co.jp> writes:
> > > 浮動小数点の引数や返値の受渡し規定が異なるので、バイナリ互換性はありませ
> > > ん。したがって、userlandのバイナリは混在することはできません。整数演算中
> > > 心のプログラムだと異常に気が付かないかもしれませんが。
> なにやら誤解があるような気がするのですが。
お手数おかけしてすみません。御説明ありがとうございます。
> userlandのバイナリをすべてhardfloatに置き換えれば、カーネルによる浮動小
> 数点演算命令のエミュレーションで問題なく動作するはずです。また、この場合、
> pmaxともバイナリ互換になります。
> 私がテストしている環境では、userlandを全部pmaxのバイナリで置き換えていま
> す。
はい。
> 問題が発生するのは、pmax用のpackage(hardfloatでコンパイルされている)を持っ
> てきてsoftfloatのrun-time library(現在のhpcmipsの実行環境)を使って動作さ
> せる場合です。
全部hardfloat環境にするようにすれば逆にpmaxのバイナリを
hpcmipsで作れるようにもなるんですよね?
どっちみち遅いfloatの性能低下をあきらめてやっぱりpmaxとの
バイナリ互換に走るためにhpcmipsの環境は今後hardfloatで
作るようにしませんか?
NetBSD/hpcmips with hardfloat environment
good point -> pmax binary compatibility
bad point -> less floating point calclation performance
NetBSD/hpcmips with softfloat environment
good point -> floating point calclation performance
bad point -> no-pmax binary compatibility
> なお、引数の受渡し規程は、FPAのレジスタを使って引数や返値を渡す/渡さな
> いという違いですので、softfloat(FPAのレジスタを一切使わない)と
> hardfloat(FPAのレジスタを使う)は互換にすることはできません。
了解です。
--
蛯原 純 (Jun Ebihara)Jis漢字コードは$6962
jun@soum.co.jp http://www.re.soum.co.jp/~jun/
それはttyドライバのせいなんだよ。