Subject: Re: Powermac 6500/250 with L2 cache G3 upgrade
To: Adam Kranzel <adam@blacktabby.org>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 04/04/2005 19:55:20
On Mon, 4 Apr 2005 16:02:11 -0700
Adam Kranzel <adam@blacktabby.org> wrote:

> Hi all,
> 
> I've recently acquired one of the above machines, and it works quite 
> well with NetBSD (2.0) so far, however I've not figured out how to get
> NetBSD to recognize the G3 upgrade.
> Anyone have ideas?
> I'm updating it to -CURRENT right now, just in case that helps.

While surely several people will step forward to discredit my
suggestion and tell you to compile the value into the kernel in a
config file, I think compiling the L2CR value into the kernel is crude.
I added dynamic L2 cache configuring to a bootloader some time ago:

http://www.dialectronics.com/bootloader

The page is a bit out of date. I have two newer versions available:

http://www.dialectronics.com/bootloader/boot25k.xcf

which works with non-APM systems (yours is not)

and 

http://www.dialectronics.com/bootloader/ofwbootF

which requires installboot/bootxx to install and is for APM systems (as
in, the partition map is Apple Partition Map, which yours is, if I'm
not mistaken, in which case your life is easier).

boot25k.xcf is my regular bootloader. ofwbootF is not tested, but I've
built ofwboot.xcf from the same source code and had no problems. No
promises on ofwbootF.

Both bootloaders will not enable the cache by default. I added
bootloader flags to both, and the -l flag will enable the cache. The
bootloader flag must preceed the kernel name:

boot ultra1:1,\boot25k.xcf -l bsd

would boot from an MBR partitioned system and attempt to enable the
cache dynamically. Unlike compiling the value into the kernel, this
method is not permanent and the kernel can be used with other CPUs.

For an APM system, after installation with installboot, boot without
enabling the cache, to make sure it works.

Alternatively, you can copy boot25k.xcf to a PC formatted floppy and
boot from it with the -l flag, which will print out an L2CR value that
can then be compiled in.

boot fd:1,\boot25k.xcf -l 

The bootloader and kernel locations are quite decoupled, so if you have
a CD or tftpd server handy, you can boot from the bootloader on floppy
and the kernel elsewhere, as long as Open Firmware can read the
partition map (which means not on Old World Macs, not yet). I don't use
NFS for network booting of kernels, as I replaced this with tftp booting
for MD and INSTALL kernels. Something like

boot fd:1,\boot25k.xcf -l enet:,\netbsdMD.gz

will get the bootloader from the floppy and the compressed kernel image
from the tftp server. You can also just boot from the tftp server:

boot enet:,\boot25k.xcf netbsdMD.gz

Hopefully one of the above scenarios will work out for you to test the
bootloader and see how well it enables (or doesn't) the L2 cache on your
upgrade card.

tim