From owner-freebsd-sparc Sun Jan 11 20:42:56 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id UAA24132 for sparc-outgoing; Sun, 11 Jan 1998 20:42:56 -0800 (PST) (envelope-from owner-freebsd-sparc@FreeBSD.ORG) Received: from mozart.canonware.com (canonware.com [206.184.206.112]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id UAA24122 for ; Sun, 11 Jan 1998 20:42:44 -0800 (PST) (envelope-from jasone@canonware.com) Received: from localhost (jasone@localhost) by mozart.canonware.com (8.8.7/8.8.7) with SMTP id UAA06436; Sun, 11 Jan 1998 20:39:45 -0800 (PST) (envelope-from jasone@canonware.com) X-Authentication-Warning: mozart.canonware.com: jasone owned process doing -bs Date: Sun, 11 Jan 1998 20:39:45 -0800 (PST) From: Jason Evans Reply-To: Jason Evans To: Ian Logan cc: freebsd-sparc@FreeBSD.ORG, Chris Toshok Subject: Re: How UltraAX boots In-Reply-To: <34B8FF49.42027ECC@nmsu.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-sparc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, 11 Jan 1998, Ian Logan wrote: > Jason Evans wrote: > > > We're going to be facing a big bang problem as far as booting goes. In > > order to get a serial console working, it looks like we'll have to have > > the UPA, PCI, and EBus code working, in addition to serial code (just need > > to port the serial code). So, we'll pretty much have to make the whole > > motherboard work all at once, unless we can route the console through OBP > > (seems unlikely, or at least problematic). Yuck. > > Actually it shouldn't be too bad :) OBP has functions that work almost > like printf and they automaticly send their output to whatever output > device is set in the enviroment variables, I believe they are > output-device and input-device. For example, the startup code in > sys/sparc/sparc/locore.s uses these functions to printout a message if > it's running on a unsupported CPU. > > In Linux they wrote a little library of interface functions for the > prom, so we could do the same thing. Then just pick our output function > based on a #define. > ie. > #if defined(PROM_DEBUG) > prom_printf(...) > #else > printf(...) > #endif > > Of course this is still pretty ugly, but it could be a lot worse. This will be good. We'll probably have to be careful not to probe for the serial port if we're using OBP for the console, but that's just a minor detail in comparison. =) Jason Jason Evans Email: [jasone@canonware.com] Home phone: [(650) 856-8204] Work phone: [(408) 774-8007] Quote: ["Invention is 1% inspiration, 99% perspiration" - Thomas Edison]