From owner-p4-projects@FreeBSD.ORG Mon Jun 14 06:13:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E729516A4D1; Mon, 14 Jun 2004 06:13:45 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC97016A4CE for ; Mon, 14 Jun 2004 06:13:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F3CB43D2D for ; Mon, 14 Jun 2004 06:13:45 +0000 (GMT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i5E6DjAT094932 for ; Mon, 14 Jun 2004 06:13:45 GMT (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i5E6Djof094923 for perforce@freebsd.org; Mon, 14 Jun 2004 06:13:45 GMT (envelope-from jmallett@freebsd.org) Date: Mon, 14 Jun 2004 06:13:45 GMT Message-Id: <200406140613.i5E6Djof094923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 54905 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jun 2004 06:13:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=54905 Change 54905 by jmallett@jmallett_oingo on 2004/06/14 06:12:51 Give a half-assed go at an ofwdisk alike arcs_disk. Right now it will only report the disk as being 8 blocks big. I'm hopefuly I can use this to read the volume header and figure out the size of the disk that way and reattach. I don't know if that's acceptable in the GEOM world. I think I can do it all in probe, though. Also need to do a lot to ARCS to give it some physical pages it can map into a space that's likely to work for ARCS, so that we don't have to worry about what address space buffers get passed to it. Right now this probably doesn't even come close to working, it's being committed as a placeholder. Affected files ... .. //depot/projects/mips/sys/conf/files.mips#35 edit .. //depot/projects/mips/sys/dev/arcs/arcs.h#4 edit .. //depot/projects/mips/sys/dev/arcs/arcs_disk.c#1 add .. //depot/projects/mips/sys/mips/conf/INDY#11 edit .. //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#33 edit Differences ... ==== //depot/projects/mips/sys/conf/files.mips#35 (text+ko) ==== @@ -57,6 +57,7 @@ # This stanza is device files. dev/arcs/arcs.c optional arcs dev/arcs/arcs_console.c optional arcs +dev/arcs/arcs_disk.c optional arcs_disk arcs mips/sgimips/gio/gio.c optional gio ==== //depot/projects/mips/sys/dev/arcs/arcs.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips/sys/dev/arcs/arcs.h#3 $ + * $P4: //depot/projects/mips/sys/dev/arcs/arcs.h#4 $ */ #ifndef _DEV_ARCS_ARCS_H_ @@ -70,6 +70,19 @@ #define ARCS_FD_StandardInput 0 #define ARCS_FD_StandardOutput 1 +/* + * Open() mode. + */ +#define ARCS_O_RDONLY 0 +#define ARCS_O_WRONLY 1 +#define ARCS_O_RDWR 2 + +/* + * Seek() whence. + */ +#define ARCS_SEEK_ABSOLUTE 0 +#define ARCS_SEEK_RELATIVE 1 + /* Pages are 4K in ARCS. */ #define ARCS_PAGESHIFT 12 ==== //depot/projects/mips/sys/mips/conf/INDY#11 (text+ko) ==== @@ -19,7 +19,8 @@ options IP22 #IP22 (Indy, Indigo2, ...) # Hardware support -device arcs #ARCS Firmware + Console +device arcs #ARCS Firmware + Console. +device arcs_disk #ARCS Disk. device imc #IMC bus. device hpc #HPC bus. device gio #GIO bus. ==== //depot/projects/mips/sys/mips/sgimips/machdep_sgimips.c#33 (text+ko) ==== @@ -249,6 +249,7 @@ switch (mach_type) { case MACH_SGI_IP22: device_add_child(root_bus, "imc", 0); + device_add_child(root_bus, "arcs_disk", 0); break; default: panic("cannot autoconfigure type %d", mach_type);