Subject: sun4d arch
To: None <port-sparc@netbsd.org>
From: Stephen Sukovich <ssukovich@tampabay.rr.com>
List: port-sparc
Date: 09/29/2003 23:56:18
I recently acquired a SparcServer 1000 with 8x 50Mhz processors, 1.3
gigs of ram, and a Sparc Storage Array 110. Very quickly I have found
that Solaris 8 is the slowest possible operating system in existence for
this machine, and well. linux is the devil ^_^ honest! Freebsd doesn't
have a sparc port and openbsd works wonders on my SparcStation 20 as a
firewall and router, but no sun4d support at all. My last great hope for
this 250 pound pile of hardware is NetBSD. 
            I have setup a cross compiling environment on my dual
processor i386 machine running NetBSD (smp doesn't seem to work for it
oddly), and all I can say is I love the tools in NetBSD for compiling
for different arch. Anyways, I have actually started coding and getting
a few extra things working that weren't in current, and I have quickly
run into the usual problem that first time kernel hackers run into. I do
not understand half the stuff I am poking at! At least I can admit it. 
            My first problem is not from a lack of understanding the
kernel but of how I should get the cpus to attach to the mainbus. The
SparcServer 1000 is a module design that can hold 4 boards with 2
processors each, 3 sbus slots, and other fun onboard devices on each
board. Each board has a nio-unit which holds an sbus, and two nodes in
prom for cpu-units that hold the cpu nodes, and a bootbus which seems to
be equivalent to the obio in the sun4m. If I allow autoconfigure to
probe and attach everything, it will attach everything a board at a
time. Bascially like this.
 
Mainbus0
Cpu-unit0
Cpu0
Bootbus0 
Cpu-unit1
Cpu1
Cpu-unit2
Cpu2
Bootbus1
Cpu-unit3
Cpu-3
..etc..etc
 
What I think I need to do is ignore the cpu-unit node completely and
attach the cpus by hand in the mainbus_attach routine in autoconf.c
where the sun4m and sun4c arch attach their cpus. Is this the correct
color to paint my bikeshed?  
            Another thing I have noticed is the First cpu I attach has a
mid of 0 which gives me a warning saying MID shouldn't be 0. Is this a
sun4d specific thing or maybe something im not doing right.
            Last real problem right now is. Does any knowledgable sun
people know if the sun4ds have a timer or counter-timer node in the prom
tree? 
 
Thanks for everyones time.
 
-Stephen Sukovich