From owner-freebsd-sparc Sun Jan 11 09:18:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id JAA13466 for sparc-outgoing; Sun, 11 Jan 1998 09:18:46 -0800 (PST) (envelope-from owner-freebsd-sparc@FreeBSD.ORG) Received: from bubba.NMSU.Edu (bubba.NMSU.Edu [128.123.3.39]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id JAA13458 for ; Sun, 11 Jan 1998 09:18:36 -0800 (PST) (envelope-from ian@nmsu.edu) Received: from NMSU.Edu by bubba.NMSU.Edu (8.8.7/NMSU) id KAA22973; Sun, 11 Jan 1998 10:17:39 -0700 (MST) Received: from wilma by NMSU.Edu (8.8.8/NMSU-1.18) id KAA08750; Sun, 11 Jan 1998 10:18:35 -0700 (MST) Received: from nmsu.edu by wilma (8.8.8/NMSU) id KAA28979; Sun, 11 Jan 1998 10:18:19 -0700 (MST) Message-ID: <34B8FF49.42027ECC@nmsu.edu> Date: Sun, 11 Jan 1998 10:20:09 -0700 From: Ian Logan Organization: Computing and Networking X-Mailer: Mozilla 4.04 [en] (X11; I; SunOS 5.6 sun4m) MIME-Version: 1.0 To: Jason Evans CC: freebsd-sparc@FreeBSD.ORG, Chris Toshok Subject: Re: How UltraAX boots References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-sparc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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. Ian -- Ian Logan Computing & Networking New Mexico State University Email: ian@nmsu.edu Phone: 505-646-6034 Fax: 505-646-5278