Oh well, looks like I have (another) complicated shim layer to write.....
We use standard ELF, and have both U-Boot and a simple embedded bootstrap (J-Boot) on different platforms. Neither one uses the Cavium HW descriptor, as the bootstraps support other MIPS-family chips besides Cavium. Also, sadly, they use a different calling convention with slightly different things in registers A0-A3. U-Boot had already gone it's own way with a separate entry point, and once firmware is flashed into released platforms, it's effectively impossible to change the interface like that.
I'll put on my thinking hat and try to decide what to do about this. I'm guessing a new shim entry point that figures out our U-Boot versus J-Boot and tries to construct the right things for platform_start(). I'd like to say this is something I haven't had to do before, but.......
Andrew Duane Juniper Networks
978-589-0551 10 Technology Park Dr
firstname.lastname@example.org Westford, MA 01886-3418
From: email@example.com [firstname.lastname@example.org] On Behalf Of Juli Mallett [email@example.com]
Sent: Friday, February 18, 2011 6:02 PM
To: Warner Losh
Subject: Re: Bootstraps for Mips/OCTEON platforms
On Fri, Feb 18, 2011 at 14:55, Warner Losh <firstname.lastname@example.org> wrote:
> On 02/18/2011 12:08, Andrew Duane wrote:
>> I'm starting at ground zero (almost) with an Octeon based platform related
>> to the OCTEON1 config in the -CURRENT. The board uses an existing MIPS
>> bootstrap and loader, but that does not seem to be compatible with what the
>> kernel expects. What bootstrap is used normally? u-boot?
> u-boot is what we support. There's no other support in the codebase right
> now. uboot gives us:
> in a3 is passed in the cavium hardware descriptor. All other registers are
> ignored on boot. We only support version 6 and newer of the boot
> descriptor. You can see the details of the structure in
> sys/mips/cavium/octeon_machdep.c starting with platform_start().
It's worth noting that we don't use the Simple Executive ELF
Application calling convention but the Octeon Linux one, so
'bootoctlinux' should be used instead of 'bootoctelf'.
email@example.com mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"