Subject: Re: New Boot Load Doesn't Work on IPX
To: Paul Kranenburg <pk@cs.few.eur.nl>
From: Curt Sampson <cjs@cynic.net>
List: port-sparc
Date: 01/28/2000 11:20:42
On Fri, 28 Jan 2000, Paul Kranenburg wrote:

> Try building the boot program (in `/sys/arch/sparc/stand/boot') with
> a smaller `RELOC' value, say 0x340000 as it used to be until recently.
> 
> It just may be that the machine has no physical memory bank at
> the address where `boot' is currently linked to run at.

That was it exactly! According to the boot diagnostics, the SIMM banks
are mapped at 16 MB boundaries, but I have 4 MB SIMMs in the thing,
so loading at 7 MB was indeed loading in to memory that didn't exist.

Now this leaves us with a little problem. Charles moved the boot
loader to 7 MB because the INSTALL kernel is apparently now so large
it was overwriting the boot loader as the kernel was loaded. However,
7 MB is obviously bad from the point of view of SS1/SS2/IPX machines
(and probably IPCs, too); it would be better to load just above 16 MB,
so it works on machines with 4 MB/bank. Unfortunately, this is going to
break the SS5 if you have 8 MB DIMMs in it, because its DIMM slots are
mapped at 32 MB boundaries.

One option might be to provide multiple boot loaders in /usr/mdec, for
varying configurations. Another would be to have the boot loader load
below 4 MB but try to find a place to relocate itself to. (It may not;
we need to continue to support loading smaller kernels with the boot
loader below 4 MB so that we work on 4 MB machines.)

Anybody have any thoughts on the matter?

cjs
-- 
Curt Sampson  <cjs@cynic.net>   917 532 4208   De gustibus, aut bene aut nihil.
The most widely ported operating system in the world: http://www.netbsd.org