Subject: PowerPC 601 Support
To: None <port-powerpc@netbsd.org>
From: Kirill Levchenko <kirill@lava.net>
List: port-powerpc
Date: 01/30/2004 14:37:46
Hi, I have a PowerMac 7500/100 with the original 601 card, and I'd like 
to see NetBSD run on it. I realize that the 601 is not (yet) supported, 
and I'd like to help with that. Unfortunately, time and inexperience 
are against me on this, however I'm willing to try. I have some 
questions that I hope someone would be kind enough to answer.

1. What is the exact status of the work on the 601? I noticed that 
there are some definitions for the 601 in the powerpc/oea/include files 
written by Klaus Klein and Jason Thorpe, so I know people were working 
on this. Further evidence for this comes from a 2002 message to 
port-macppc, in which Jason Thorpe wrote:

     Klaus Klein is currently working on 601 support in the
     generic PowerPC code.  Once that is done, you'll probably
     just have to make a few adjustments to the macppc code to
     deal with e.g. the BAT differences.

2. Is there a document that describes how NetBSD uses BAT registers?

3. (Tool question) How do I cross-compile individual parts of a system? 
Build.sh does everything, but I'd like to just build a specific part, 
such as ofwboot.xcf. This probably just involves setting environment 
variables, but I am not sure which ones, and what the right way is.

4. It seems like ofwboot.xcf is the best place to start. I tried a 
netboot to see how far things would get (using 1.6.1 ofwboot.xcf):

     0 > boot enet:,ofwboot.xcf file: 192.168.2.4,ofwboot.xcfloading 
XCOFF
     tsize=CC50 dsize=14AC bsize=2668 entry=640000
     SECTIONS:
     .text    00640000 00640000 0000CC50 000000E0
     .data    0064D000 0064D000 000014AC 0000CD30
     .bss     0064E4B0 0064E4B0 00002668 00000000
     loading .text, done..
     loading .data, done..
     clearing .bss, done..

     >> NetBSD/macppc OpenFirmware Boot, Revision 1.7
     >> (autobuild@tgm.daemon.org, Tue Apr  8 14:55:46 UTC 2003)
     file: 192.168.2.4,ofwboot.xcfnet_open: client addr: 192.168.2.5
     net_open: server addr: 192.168.2.4
     net_open: server path: /export
     net_open: file name: /ofwboot.xcf
     Using IP address: 192.168.2.5
     root addr=192.168.2.4 path=/export
     DEFAULT CATCH!, code=FFF00300
      ok

So it looks like things never reach the kernel. Tcpdump shows that 
ofwboot.xcf dies shortly after contacting the NFS server.

5. My build environment is an Ultra2. I've heard of some problems when 
cross-building 32-bit architectures on UltraSparc. I've built a macppcc 
kernel with no problems, but I'd like to know ahead of time if I'm 
going to run into major issues.

Any other information would be appreciated. Thanks.

Kirill