[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NetBSD-2.0 on Sigmarion II
なかはしです。
On 2005/01/20, at 3:09, oikawa@weez.mu wrote:
> まず思ったのはかなり体感速度がおそいとおもうのですが、
> どうなんでしょう?私がなにかチョンボした可能性があるかも。。
いや,すごく遅いです。気が狂いそうなくらい。
で,その後もう少し調べてみたところ,KSEG0のキャッシュだけ無効にして
おけば問題ないことがわかりました。これでもまだ遅いですが,
HPCMIPS_L1CACHE_DISABLEよりは随分マシです。
具体的には,HPCMIPS_L1CACHE_DISABLEは無効(コメント)にしておいて,
sys/arch/mips/mips/locore.S でKSEG0をunchachedに設定している部分
だけを有効にします(添付のパッチを参考にしてください)。
この状態でperlとmglをビルドしてみたところ,ハングアップは起こり
ませんでした。丸1日くらいは動いていたことになると思います。
-------パッチここから---------
--- sys/arch/mips/mips/locore.S.orig 2005-01-18 22:40:16.000000000 +0900
+++ sys/arch/mips/mips/locore.S 2005-01-18 22:41:56.000000000 +0900
@@ -106,14 +106,14 @@
li t0, 0 # Disable interrupts and
mtc0 t0, MIPS_COP_0_STATUS # the fp coprocessor
COP0_SYNC
-#ifdef HPCMIPS_L1CACHE_DISABLE
+/*#ifdef HPCMIPS_L1CACHE_DISABLE*/ /* workaround for Sigmarion II */
mfc0 t0, MIPS_COP_0_CONFIG
li t1, 0xfffffff8
and t0, t0, t1
or t0, 0x00000002 # XXX, KSEG0 is uncached
mtc0 t0, MIPS_COP_0_CONFIG
COP0_SYNC
-#endif /* HPCMIPS_L1CACHE_DISABLE */
+/*#endif*/ /* HPCMIPS_L1CACHE_DISABLE */
#else
mfc0 t0, MIPS_COP_0_STATUS
or t0, MIPS_SR_COP_1_BIT # Disable interrupts, and
-------パッチここまで--------
---
中橋 一朗 (なかはし いちろう)
http://ichiro.nnip.org/
PGP key fingerprint: 9190 1525 9218 EB38 F34E 8E4E 2213 6D45 D076 3A98