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

Re: Fujitsu MB87030/MB89352 (SPC) manual



筒井です。

<20030524192301Q.isaki@par.odn.ne.jp>の記事において
isaki@par.odn.ne.jpさんは書きました。

> Inside X68000 に載ってるのが結構詳しいと思います。
> うちにあるのはお貸しできますので、必要でしたら
> 連絡下さい。

今のところ複数の方からいくつか資料をいただいたので、
そういう貴重な本をお借りするのは遠慮しておきます ;-)

現状としては DMA 転送が終った後の spc_msgin()
もしくは status phase の spc_datain_pio() で
来るべきデータが来ないことがある、みたいな感じです。

PIO only では build.sh 完走するくらいには動いてたので、
DMA の設定まわりを少しいじっては build.sh をかけて
数時間動かして止まってたら再度いじって、みたいなこと
繰り返してます。#先は長いぞ。

> > #ifdef x68k の部分がかなり謎。
> > #luna68k ではどうなんでしょう……
> 
> spc_datain_pio() の #ifdef x68k を外すとカーネル起動時に
> バスエラーで死にました。で、そのことも Inside には書いて
> ある (X68000 でなんたらモードでこのビット立てるとバスエラー
> になるよ、とか) のですが、私ではよく分からないで...。

うーん。PIO なのに SCMD_PROG_XFR を立てると落ちるんですか……
hp300 だと名前のとおり DMA するときは SCMD_PROG_XFR なし、
PIO のときは SCMD_PROG_XFER ありでないと動きません。

ところで x68k の SCSI って DMA 使える仕様になってるんでしょうか?
DMAC への信号線の始末が悪くて bus error が出るということなら
わからないでもないですが、そういうことなら DMA 転送を実装すればよい?
#msgin や status phase では datain_pio 使うからやっぱりダメ?
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp