Subject: Resolved(?): no support for DECstation 3100 in 3.1 kernel?
To: None <port-pmax@netbsd.org>
From: Dennis Grevenstein <dennis.grevenstein@gmail.com>
List: port-pmax
Date: 10/01/2007 14:41:56
Hi,

I had a problem with NetBSD on my DECstation 3100.
This is a model from 1989 with a MIPS R2000A CPU.
NetBSD wouldn't boot and panic with:

panic: CPU type (0x216) not supported

After a little more research on the topic I found this:
http://mail-index.netbsd.org/port-pmax/2002/11/20/0000.html

Seems like NetBSD refuses to boot, because it doesn't know the
CPU. I'm not sure why this is the case, but since I am obiously not
the only one with a DECstation which has that kind of CPU, I finally
decided to add this to the NetBSD kernel.

I've compiled a 3.1 kernel with the changes on a 5000/150 and now
my little PMAX boots up fine.

Dennis


--- orig_netbsd/src/sys/arch/mips/mips/mips_machdep.c   2005-09-12
00:10:13.000000000 +0200
+++ mod_pmax/src/sys/arch/mips/mips/mips_machdep.c      2007-10-01
01:40:31.000000000 +0200
@@ -251,6 +251,8 @@
 static const struct pridtab cputab[] = {
        { 0, MIPS_R2000, -1, -1,                CPU_ARCH_MIPS1, 64,
          CPU_MIPS_NO_LLSC,                     "MIPS R2000 CPU"        },
+        { 0, MIPS_R3000, MIPS_REV_R2PMAX, -1,    CPU_ARCH_MIPS1, 64,
+          CPU_MIPS_NO_LLSC,                     "MIPS R2000A CPU"        },
        { 0, MIPS_R3000, MIPS_REV_R3000, -1,    CPU_ARCH_MIPS1, 64,
          CPU_MIPS_NO_LLSC,                     "MIPS R3000 CPU"        },
        { 0, MIPS_R3000, MIPS_REV_R3000A, -1,   CPU_ARCH_MIPS1, 64,

--- orig_netbsd/src/sys/arch/mips/include/cpuregs.h     2003-10-30
00:41:10.000000000 +0100
+++ mod_pmax/src/sys/arch/mips/include/cpuregs.h        2007-10-01
01:35:35.000000000 +0200
@@ -736,6 +736,7 @@
  */

 /* For MIPS_R3000 */
+#define MIPS_REV_R2PMAX                0x16    /* R2000A used in some PMAXen */
 #define        MIPS_REV_R3000          0x20
 #define        MIPS_REV_R3000A         0x30



-- 
Don't suffer from insanity...
Enjoy every minute of it.