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

Re: 100BASE-TX NIC for macppc



<199903251607.BAA22604@ruri.iri.co.jp>の記事において
tsubai@iri.co.jpさんは書きました。

> # 32bit長以外で読んでも平気かな?

16bit でも逆だそうです。

> もうわすれちゃいましたが、fraghdr, dpd, upd あたりをいじったと
> 思います。

現在 ex は別のマシンにささってるので、ひと段落したら試してみます。

> # *ptr |= bswap(XXX_FLAG);	// こーいうの。

vr と ex のパッチもこんな感じです。最初は define の定義を
endian によって入れ換えようかと思ったんですが、

 sc->sc_upd[i].upd_frags[0].fr_len = (MCLBYTES - 2) | EX_FR_LAST;

みたいに bit 列の中に数値が埋め込まれてるとなんともなりません。
bus_dmamap_sync() の前後でまとめて入れ換えてやろうかとも
思ったんですが、 sync が呼ばれるのが 1回限りとは保証できなさそう
だったのでやめました。これはこれでしかたないですよねえ。

# *ptr = htopci(pcitoh(*ptr) | XXX_FLAG); /* ってのが consistent? */

<199903252348.IAA05543@dione.cec.co.jp>の記事において
sakamoto@cec.co.jpさんは書きました。

>  > >ってあるんですが、PCI/ISA 以外でも bus_space を使うとしたら
>  > >どうなるんでしょう?
> 
> そのbusに応じたbus tagでbyte swapあり/なしを決めれば良さそう。

両方の endian のバスがぶら下がるマシンってあるんでしょうかね。
mac68k の wdc が該当するのかな?
---
tsutsui@ceres.dti.ne.jp