[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
-current/3.0_BETA works on VR41xx hpcmips?
筒井です。
port-mips で話をしてたんですがこっちでも聞いてみます。
PR kern/30590 にあるように
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=30590
sys/arch/mips/mips/mipsX_subr.S rev 1.16 の変更
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/mips/mips/mipsX_subr.S#rev1.16
で hpcmips の kernel が boot しなくなったというのがありますが、
これはどのマシンでもそうなんでしょうか?
その場合、添付のパッチで挙動は変わるでしょうか?
そもそも Chuck Silver 氏は MobilePro 880 では 2.0.2 でも
/sbin/init を起動するところで panic する
http://mail-index.netbsd.org/port-mips/2005/08/29/0000.html
と言ってますが、他の機種ではどうなんでしょう?
---
Izumi Tsutsui
Index: sys/arch/mips/include/locore.h
===================================================================
RCS file: /cvsroot/src/sys/arch/mips/include/locore.h,v
retrieving revision 1.68
diff -u -r1.68 locore.h
--- sys/arch/mips/include/locore.h 13 Feb 2004 11:36:15 -0000 1.68
+++ sys/arch/mips/include/locore.h 30 Aug 2005 11:05:46 -0000
@@ -119,6 +119,7 @@
uint32_t mips3_cp0_wired_read(void);
void mips3_cp0_wired_write(uint32_t);
+void mips3_cp0_pg_mask_write(uint32_t);
uint64_t mips3_ld(uint64_t *);
void mips3_sd(uint64_t *, uint64_t);
Index: sys/arch/mips/mips/locore_mips3.S
===================================================================
RCS file: /cvsroot/src/sys/arch/mips/mips/locore_mips3.S,v
retrieving revision 1.86
diff -u -r1.86 locore_mips3.S
--- sys/arch/mips/mips/locore_mips3.S 7 Aug 2003 16:28:32 -0000 1.86
+++ sys/arch/mips/mips/locore_mips3.S 30 Aug 2005 11:05:46 -0000
@@ -393,6 +393,20 @@
nop
END(mips3_cp0_wired_write)
+/*
+ * void mips3_cp0_pg_mask_write(u_int32_t)
+ *
+ * Set the value of the CP0 PG_MASK register.
+ */
+LEAF(mips3_cp0_pg_mask_write)
+ mtc0 a0, MIPS_COP_0_TLB_PG_MASK
+ COP0_SYNC
+ nop
+ nop
+ j ra
+ nop
+END(mips3_cp0_pg_mask_write)
+
#if defined(_MIPS_BSD_API) && \
(_MIPS_BSD_API == _MIPS_BSD_API_N32 || _MIPS_BSD_API == _MIPS_BSD_API_LP64)
#error mips3_ld and mips3_sd should be adjusted for N32 or LP64
Index: sys/arch/mips/mips/mips_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/mips/mips/mips_machdep.c,v
retrieving revision 1.178
diff -u -r1.178 mips_machdep.c
--- sys/arch/mips/mips/mips_machdep.c 1 Jun 2005 16:53:07 -0000 1.178
+++ sys/arch/mips/mips/mips_machdep.c 3 Sep 2005 16:57:01 -0000
@@ -892,6 +892,11 @@
r5900_vector_init();
memcpy(mips_locoresw, mips5900_locoresw, sizeof(mips_locoresw));
#else /* MIPS3_5900 */
+#if defined(MIPS3_4100)
+ mips3_cp0_pg_mask_write(0x1800);
+#else
+ mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_4K);
+#endif
mips3_cp0_wired_write(0);
mips3_TBIA(mips_num_tlb_entries);
mips3_cp0_wired_write(MIPS3_TLB_WIRED_UPAGES);