Subject: Re: ofwboot.xcf issues
To: None <wrstuden@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-macppc
Date: 11/29/2003 14:04:34
In article <20031129004351.GA10852@netbsd.org>
wrstuden@netbsd.org wrote:

> > Current GENERIC kernel is ~5MB, so it seems ofwboot could not load it
> > if RELOC (and DEFAULT_ENTRY_POINT in bootxx.c) is 0x600000.
> 
> ?? bootxx only loads ofwboot, and 0x600000 is ofwboot's entry point.

bootxx loads ofwboot at DEFAULT_ENTRY_POINT (== RELOC == 0x600000)
and jumps there. Then, the loaded ofwboot loads a kernel at
TEXTADDR, which is 0x100000.
(For ofwboot.xcf case, I guess OF loads ofwboot.xcf at RELOC.)
If kernel is larger than 5MB (== 0x500000), ofwboot will
overwrite itself with loading kernel, so it results DEFAULT_CATCH.

> Could it be that we need a new real-base setting??

No. (BTW, what's the "current" setting? FAQ suggests F00000, though..)

real-base is used to specify address which is used for OF
(at least OF 1 and 2), not ofwboot. If read-base is the default
value (-1), OF uses around 0x400000 so we have to change it
to higher address first to load kernels more than 3MB.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp