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

Re: fxp at pci on arm32 and bus_dmamap_sync()



In message <200005311438.e4VEcmc03881@mirage.ceres.dti.ne.jp>
	on Wed, 31 May 2000 23:38:48 +0900 (JST),
	Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> wrote:
> > 3. fxp_add_rfabuf()でpanicする。
> > 
> > OSはFreeBSD 2.2.8ですが、NetBSD currentでも同様にpanicしてしまいました。
> 
> この panic ってどういった内容でしょう。freebsd-hackers の
> メールと同じく page fault でしょうか。あと、NetBSD の場合は
そうだったと記憶しています。

> options DIAGNOSTIC の有無はどうでしたか?
ありでしかやっていませんでした。同じハードは会社にあるのですが、開け
閉めがちょっと厄介なので、すぐに再現させるのは難しいかもしれません。

> 意図しない mbuf に DMA でデータが書き込まれてたとすると
> m_ext.ext_buf とかが変な値になって page fault になる
> かもしれませんが、 fxp_add_rfabuf() のどこで落ちたかが
> 特定できないとなんともわかりません。
一応、ある程度は追ったのですが、

int
fxp_add_rfabuf(sc, rxmap, unload)
	struct fxp_softc *sc;
	bus_dmamap_t rxmap;
	int unload;
{
	struct mbuf *m;
	int error;

	MGETHDR(m, M_DONTWAIT, MT_DATA);
	if (m == NULL)
		return (ENOBUFS);

	MCLGET(m, M_DONTWAIT);
	if ((m->m_flags & M_EXT) == 0) {

この MCLGET あたりだったと記憶しています。

> DC390 の BIOS が変で chipset の L2 cache の制御が
> おかしくなってたりしたんでしょうかね……
ほんとに偶然試して原因不明なものの解決策が見つかって胸をなでおろしたの
は、昨年の暮れだったでしょうか。

> こちらの CATS では DC-390U がささっています。
> 当然 BIOS は認識されないのであんまり関係ないでしょうが、
そうですね。

--
神戸 隆博(かんべ たかひろ) at home