Subject: Re: turbo support...
To: Dave Huang <khym@azeotrope.org>
From: Christian Limpach <chris@Pin.LU>
List: port-next68k
Date: 07/24/2002 00:24:30
Quoting Dave Huang <khym@azeotrope.org>:

> No, the screen didn't clear.

ok good, that narrows it down to where it crashed...

> I just tried that one, and it doesn't seem to work either. In case it's
> helpful, here's what it prints while it boots (typed in manually;
> hopefully there aren't any typos):

yes very much, thanks:
- disk chip is wrong/weird
- machine type is unknown
- memory is wrong (only 4MB while you have 32MB, this is because of the wrong 
machine type)

I've updated the machine type/memory code, could you try this kernel please?
ftp://lola.pin.lu/pub/NetBSD/arch/next68k/turbo/turbo-07-21/netbsd-TURBOK.gz
(replaced the one I made earlier, URL is the same)
The new kernel also prints out two more values (intrmask/intrstat) before 
the "Check serial..." message, could you write these down?

-- 
Christian Limpach <chris@Pin.LU>

Patches, if you want to build your own later...
Index: nextrom.c
===================================================================
RCS file: /cvs/netbsd/syssrc/sys/arch/next68k/next68k/nextrom.c,v
retrieving revision 1.13.1720.1
diff -u -r1.13.1720.1 nextrom.c
--- nextrom.c   21 Jul 2002 10:27:15 -0000      1.13.1720.1
+++ nextrom.c   23 Jul 2002 22:11:38 -0000
@@ -245,6 +245,11 @@
                        msize4  = 0x800000;
                        msize1  = 0x200000;
                        ROM_PUTS("Looks like a NeXT_TURBO_COLOR\r\n");
+               } else if (MONRELOC(char,MG_machine_type) == NeXT_TURBO_MONO) 
{
+                       msize16 = 0x2000000;
+                       msize4  = 0x800000;
+                       msize1  = 0x200000;
+                       ROM_PUTS("Looks like a NeXT_TURBO_MONO\r\n");
                } else {
                        msize16 = 0x100000;
                        msize4  = 0x100000;
@@ -383,6 +388,19 @@
 
        RELOC(rom_intrmask, u_int) = MONRELOC(u_int, MG_intrmask);
        RELOC(rom_intrstat, u_int) = MONRELOC(u_int, MG_intrstat);
+       ROM_PUTS("intrmask: ");
+       ROM_PUTX((RELOC(rom_intrmask, u_int)>>24)&0xff);
+       ROM_PUTX((RELOC(rom_intrmask, u_int)>>16)&0xff);
+       ROM_PUTX((RELOC(rom_intrmask, u_int)>>8)&0xff);
+       ROM_PUTX((RELOC(rom_intrmask, u_int)>>0)&0xff);
+       ROM_PUTS("\r\nintrstat:");
+       ROM_PUTX((RELOC(rom_intrstat, u_int)>>24)&0xff);
+       ROM_PUTX((RELOC(rom_intrstat, u_int)>>16)&0xff);
+       ROM_PUTX((RELOC(rom_intrstat, u_int)>>8)&0xff);
+       ROM_PUTX((RELOC(rom_intrstat, u_int)>>0)&0xff);
+       ROM_PUTS("\r\n");
+/*     RELOC(rom_intrmask, u_int) = 0x02007800; */
+/*     RELOC(rom_intrstat, u_int) = 0x02007000; */
 
 #ifdef SERCONSOLE
        ROM_PUTS("Check serial port A for console.\r\n");
Index: nextrom.h
===================================================================
RCS file: /cvs/netbsd/syssrc/sys/arch/next68k/next68k/nextrom.h,v
retrieving revision 1.7
diff -u -r1.7 nextrom.h
--- nextrom.h   31 Aug 2001 04:44:56 -0000      1.7
+++ nextrom.h   23 Jul 2002 22:12:56 -0000
@@ -236,7 +236,7 @@
 #define        NeXT_WARP9      1
 #define        NeXT_X15        2
 #define        NeXT_WARP9C     3
-
+#define NeXT_TURBO_MONO        4
 #define NeXT_TURBO_COLOR 5                     /* probed witnessed */
 
 #define        ROM_STACK_SIZE  (8192 - 2048)