PR#141 from David Leonard <d@occult.fnarg.net.au> with some small mods by
authorbriggs <briggs@openbsd.org>
Thu, 3 Apr 1997 03:53:25 +0000 (03:53 +0000)
committerbriggs <briggs@openbsd.org>
Thu, 3 Apr 1997 03:53:25 +0000 (03:53 +0000)
me.
- Provide option (enabled in GENERIC and GENERICSBC) to disable ADB
  configuration when serial console is enabled.  Old behavior allows
  booting even if ADB probe hangs (Apple had several ways to access
  ADB).
- Configure ite0 differently--don't assume that it's only extant if it
  is the console.

sys/arch/mac68k/conf/GENERIC
sys/arch/mac68k/conf/GENERICSBC
sys/arch/mac68k/dev/adbsys.c
sys/arch/mac68k/dev/ite.c

index 60c3bb6..dbc05e0 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: GENERIC,v 1.17 1997/03/12 15:59:01 briggs Exp $
+#      $OpenBSD: GENERIC,v 1.18 1997/04/03 03:53:25 briggs Exp $
 #      $NetBSD: GENERIC,v 1.52 1997/01/13 23:34:07 scottr Exp $
 #
 # GENERIC
@@ -59,6 +59,7 @@ options               COMPAT_NOMID
 options                COMPAT_SUNOS
 options                ZS_CONSOLE_ABORT
 options                DISABLE_EXT_CACHE # Don't use IIci external cache
+options                DISABLE_ADB_WITH_SERIAL_CONSOLE
 options                HWDIRECT
 
 config         bsd     swap generic
index 95235c4..ef37c30 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: GENERICSBC,v 1.3 1997/03/12 15:59:01 briggs Exp $
+#      $OpenBSD: GENERICSBC,v 1.4 1997/04/03 03:53:26 briggs Exp $
 #      $NetBSD: GENERIC,v 1.52 1997/01/13 23:34:07 scottr Exp $
 #
 # GENERIC
@@ -59,6 +59,7 @@ options               COMPAT_NOMID
 options                COMPAT_SUNOS
 options                ZS_CONSOLE_ABORT
 options                DISABLE_EXT_CACHE # Don't use IIci external cache
+options                DISABLE_ADB_WITH_SERIAL_CONSOLE
 options                HWDIRECT
 
 config         bsd     swap generic
index 4b0869c..efe5c27 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: adbsys.c,v 1.7 1997/02/23 06:04:54 briggs Exp $       */
+/*     $OpenBSD: adbsys.c,v 1.8 1997/04/03 03:53:27 briggs Exp $       */
 /*     $NetBSD: adbsys.c,v 1.24 1997/01/13 07:01:23 scottr Exp $       */
 
 /*-
@@ -176,10 +176,12 @@ adb_init()
        int error;
        char buffer[9];
 
+#ifdef DISABLE_ADB_WHEN_SERIAL_CONSOLE
        if ((mac68k_machine.serial_console & 0x03)) {
                printf("adb: using serial console\n");
                return;
        }
+#endif
 
 #ifndef HWDIRECT               /* We don't care about ADB ROM driver if we are
                                 * using the HWDIRECT method for ADB/PRAM/RTC. */
index 37613ba..d39e177 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ite.c,v 1.11 1997/03/12 13:26:38 briggs Exp $ */
+/*     $OpenBSD: ite.c,v 1.12 1997/04/03 03:53:27 briggs Exp $ */
 /*     $NetBSD: ite.c,v 1.32 1997/02/20 00:23:25 scottr Exp $  */
 
 /*
@@ -114,6 +114,7 @@ static void ite_putchar __P((char));
 static int     ite_pollforchar __P((void));
 static int     itematch __P((struct device *, void *, void *));
 static void    iteattach __P((struct device *, struct device *, void *));
+static int     ite_init __P((void));
 
 #define dprintf if (0) printf
 
@@ -877,6 +878,7 @@ iteattach(parent, self, aux)
        void    *aux;
 {
        printf(" (minimal console)\n");
+       (void) ite_init();
 }
 
 
@@ -1161,6 +1163,15 @@ itecnprobe(struct consdev * cp)
 int
 itecninit(struct consdev * cp)
 {
+       return ite_init();
+}
+
+int
+ite_init()
+{
+       if (ite_initted)
+               return 0;
+
        ite_initted = 1;
        width = videosize & 0xffff;
        height = (videosize >> 16) & 0xffff;
@@ -1193,7 +1204,7 @@ itecninit(struct consdev * cp)
 
        vt100_reset();
 
-       return iteon(cp->cn_dev, 0);
+       return iteon((dev_t) 0, 0);
 }
 
 int