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

Re: kernel softfloat emulation



Takao Shinohara <shin@sm.sony.co.jp> writes:
> # 何もしていなかったわけではなくて、テストのためにSPEC95をNetBSDで
> # 動かす準備などはしてあります。

SPEC95ですが、NetBSD/i386では特に問題なく実行できたのですが、
NetBSD/hpcmipsではf77のMIPS対応に問題があるようで、デフォルトではリンク
に失敗しました(PICとnon-PICのバイナリをリンクしようとした)。

コンパイル時に -fPIC を指定することでリンクできるようにはなったのですが、
今度は実行直後に異常終了しました。

f77のデバッグをするつもりはなかったので、その時点でSPEC95についてはあき
らめました。

* * * * *

これだけだと何の成果もないですが、R3900/TX3920コアについては少し進展があ
りました。

R3900コアのマニュアル、

"32-Bit RISC MICROPROCESSOR TX29 FAMILY CORE ARCHITECTURE USER'S MANUAL"

と、TX3920コアのマニュアル、

"32-Bit TX System RISC TX3920 Processor Core Architecture"

の「Table 2-5. R3000A instructions not supported by the R3900(TX3920)」
には、LWCz/SWCz命令は"Reserved Instruction Exception"を発生すると明記さ
れているので、カーネルによるFPUのエミュレーションをTX39xxに対応させるに
は、少なくとも例外処理に手を入れる必要があると思っていたのですが、実際の
CPUの動作はマニュアルとは異なっていました。

TX3912(Compaq 2010c)とTX3922(Sharp Telios)で動作を確認したのですが、
lwc1/swc1命令はCoprocessor Unusable exceptionを発生しました。したがって、
現在のFPU emulationの実装そのままで動作します。

篠原