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

[pbsd-mg2] Re: cache problem again



"Takemura" <takemura@ca2.so-net.ne.jp> writes:
> 次に、cache を疑って、L1CACHE_DISABLE と PGSIZE16K と FLUSH_XXX を
> いろいろ試してみましたが、結果としては、
> 
> 	HPCMIPS_L1CAHCE_DISABLE	効果あり
> 	HPCMIPS_FLUSHCACHE_XXX	効果なし
> 	HPCMIPS_PGSIZE_16K		効果あり
> 
> という感じで、ページサイズを 16KB にすれば正常に起動できました。

私のMC-R700(メモリは32MB標準)で試してみたところ、CFをルートファイルシス
テムにした状態では、シングルユーザのshは起動しましたが、そこから他のコマ
ンドを実行すると、segmentation faultが発生して親のshが死んでしまいました。

GENERIC + options HPCMIPS_FLUSHCACHE_XXXでは大丈夫みたいです。

ちなみに、私がテストしたバイナリは、

	カーネル	NetBSD/i386 1.4のクロスコンパイラで作成
	userland	CVSのソースをmake build(コンパイラは上に同じ)

となっています。

しばらくdisklessでしか動かしていなかったので、いつのカーネルから動作が変
わったかは良くわかりません。メジャー番号が変わった直後にテストした際には
特に問題はなかったように記憶しているのですが。

# cache関係の問題はちょっとアドレスが変わっただけで発生しなくなったりす
# るので追及するのは結構大変です。アドレス等が変わらないようにnopをtext
# 中に埋め込んで、ソース修正前と後で関数や変数のアドレスが変わらないよう
# に調整してテストしたことがあります。何度もやりたい作業ではないですね。

篠原