Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Nov 1998 16:56:05 -0500 (EST)
From:      Alfred Perlstein <bright@hotjobs.com>
To:        Kapil Chowksey <kchowksey@hss.hns.com>
Cc:        freebsd-sparc@FreeBSD.ORG
Subject:   Re: for a change, some code
Message-ID:  <Pine.BSF.4.05.9811181655330.10312-100000@bright.fx.genx.net>
In-Reply-To: <199811180751.NAA29623@tarang.hss.hns.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9811181655330.10312-100000>