From owner-freebsd-sparc Wed Nov 18 13:53:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA13828 for freebsd-sparc-outgoing; Wed, 18 Nov 1998 13:53:23 -0800 (PST) (envelope-from owner-freebsd-sparc@FreeBSD.ORG) Received: from bright.fx.genx.net (bright.fx.genx.net [206.64.4.154]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA13822 for ; Wed, 18 Nov 1998 13:53:18 -0800 (PST) (envelope-from bright@hotjobs.com) Received: from localhost (bright@localhost) by bright.fx.genx.net (8.9.1/8.9.1) with ESMTP id QAA11512; Wed, 18 Nov 1998 16:56:05 -0500 (EST) (envelope-from bright@hotjobs.com) X-Authentication-Warning: bright.fx.genx.net: bright owned process doing -bs Date: Wed, 18 Nov 1998 16:56:05 -0500 (EST) From: Alfred Perlstein X-Sender: bright@bright.fx.genx.net To: Kapil Chowksey cc: freebsd-sparc@FreeBSD.ORG Subject: Re: for a change, some code In-Reply-To: <199811180751.NAA29623@tarang.hss.hns.com> 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 were you able to upload to ftp://zone.baldcom.net/incoming? i'd love to take a look at this work if you don't mind. Alfred Perlstein - Programmer, HotJobs Inc. - www.hotjobs.com -- There are operating systems, and then there's FreeBSD. -- http://www.freebsd.org/ 3.0-current On Wed, 18 Nov 1998, Kapil Chowksey wrote: > List, > > A while ago, I wrote some bootup code for freebsd/sparc64. It contains > the following : > > 1. A serial console driver (for zs chip) > 2. A PROM CIF library > 3. generation of hardclock() using ultrasparc's `tick_cmpr' > ASR. > 4. RAM probing code which puts this info into `phys_avail' > array expected by machine independent vm code. > 5. A pmap_bootstrap() and corresponding DTLB miss handler. > (no dirty bit and reference bit support yet) I have some > ideas about a fast optimised pmap for sun4u that can be > better than solaris or netbsd's TSB based approach. > 6. panic() > 7. support for linker sets. > 8. identification of CPU. > > All this code is written from-scratch and I can upload it to some ftp > server if someone cares. But pragmatism calls for borrowing > netbsd/sparc64 code. > > Here's an output from the kernel booting up on an ultra 1 : > > ok 4000 dload /tftpboot/kernel.aout > Boot device: /sbus/qec/be:,|tftpboot|kernel.aout File and args: > 36400 > ok go > prom_init: prom_stdout = 0xfffe8700 > prom_init: prom_root = 0xf0029588 > zs0: zsnode = 0xf005a174 > zs0: mapped at = 0xfffd8000 > cninit: best_cp is 0x436460 > zs0: zscninit() 0xfffd8004 > CPU: UltraSparc-I (manuf=0x17, impl=0x10), MAXTL=5, MAXWIN = 7 > prom ttable at 0xf0000000 > my ttable at 0x428000 > pil = 0xd, tick = 0x8000000652bf3efe, tick_cmpr = 0xfffffffffffff261 > pil = 0xd, tick = 0x00000006536e4002, tick_cmpr = 0x0000000653840c4f > (0x0000000000000000, 0x0000000007efe000) > (0x0000000007f00000, 0x0000000007f36000) > (locked) va 00000000:fffd8000 -> pa 000001ff:f1100000 > firstphys = 0x438000, avail_start = 0x38000 > PD1 = 0x0000000000438000, SELF1 = 0x8000000000038037, SELF2 = 0x800000000003a037 > firstphys = 0x43c000, avail_start = 0x3c000 > i = 0: va(0x0000000000900000) -> pa(0x0000000007f00000) > OFS=0, 1, 80 > PD2 = 0x000000000043c000, data = 0x800000000003c037 > PT = 0x000000000043e000, data = 0x800000000003e037 > data = 0x8000000007f00037 > i = 1: va(0x0000000000902000) -> pa(0x0000000007f02000) > OFS=0, 1, 81 > data = 0x8000000007f02037 > i = 2: va(0x0000000000904000) -> pa(0x0000000007f04000) > OFS=0, 1, 82 > data = 0x8000000007f04037 > i = 3: va(0x0000000000906000) -> pa(0x0000000007f06000) > OFS=0, 1, 83 > data = 0x8000000007f06037 > i = 4: va(0x0000000000908000) -> pa(0x0000000007f08000) > OFS=0, 1, 84 > data = 0x8000000007f08037 > ptbase is 0x0000000000036000 > current translations of 0000000000900000: > preparing for a miss ... 0x0000000000000000 > dtlb miss handler wrote these translations: > va 00000000:00900000 -> pa 00000000:07f00000 > current translations of 0000000000902000: > preparing for a miss ... 0x0000000000000000 > dtlb miss handler wrote these translations: > va 00000000:00902000 -> pa 00000000:07f02000 > current translations of 0000000000904000: > preparing for a miss ... 0x0000000000000000 > dtlb miss handler wrote these translations: > va 00000000:00904000 -> pa 00000000:07f04000 > current translations of 0000000000906000: > preparing for a miss ... 0x0000000000000000 > dtlb miss handler wrote these translations: > va 00000000:00906000 -> pa 00000000:07f06000 > current translations of 0000000000908000: > preparing for a miss ... 0x0000000000000000 > dtlb miss handler wrote these translations: > va 00000000:00908000 -> pa 00000000:07f08000 > current translations of 000000000090a000: > preparing for a miss ... panic: tl=1, tt=068, tpc=0x0000000000430b08 > tstate=0000004400001602 > %g1 = 0x0000000000000030 > %g2 = 0x000000000090a000 > %g3 = 0x0000000000000000 > %g4 = 0xfffffffe00000000 > %g5 = 0x800000000003e037 > %g6 = 0x0000000000036000 > %g7 = 0x0000000000000414 > Program terminated > ok > > All this is sun4u specific code. I am of the opinion that sun4u must > be a different archiecture from sun4[c,m,] etc. as far as code > organisation is concerned. Device drivers can be shared but not trap > handling, and pmap. > > So, if anyone wants first hand knowledge about the sun4u boot > sequence, compilers, sbus etc.; I will be willing to help. > > -- > Kapil Chowksey Viva GNU ! > kchowksey@hss.hns.com > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-sparc" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-sparc" in the body of the message