Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Feb 2011 13:43:51 -0500
From:      Andrew Duane <aduane@juniper.net>
To:        Juli Mallett <jmallett@freebsd.org>, Warner Losh <imp@bsdimp.com>
Cc:        "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   RE: Bootstraps for Mips/OCTEON platforms
Message-ID:  <AC6674AB7BC78549BB231821ABF7A9AE970EA0646A@EMBX01-WF.jnpr.net>
In-Reply-To: <AANLkTimMZY=Lkum6Wf5vNftw9ycfDHQBDbi0pNdamHTW@mail.gmail.com>
References:  <AC6674AB7BC78549BB231821ABF7A9AE9409045F43@EMBX01-WF.jnpr.net> <4D5EF8CA.5010008@bsdimp.com>, <AANLkTimMZY=Lkum6Wf5vNftw9ycfDHQBDbi0pNdamHTW@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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, sad=
ly, 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 en=
try point, and once firmware is flashed into released platforms, it's effec=
tively 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 gu=
essing 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
aduane@juniper.net      Westford, MA  01886-3418

________________________________________
From: owner-freebsd-mips@freebsd.org [owner-freebsd-mips@freebsd.org] On Be=
half Of Juli Mallett [jmallett@freebsd.org]
Sent: Friday, February 18, 2011 6:02 PM
To: Warner Losh
Cc: freebsd-mips@freebsd.org
Subject: Re: Bootstraps for Mips/OCTEON platforms

On Fri, Feb 18, 2011 at 14:55, Warner Losh <imp@bsdimp.com> wrote:
> On 02/18/2011 12:08, Andrew Duane wrote:
>>
>> I'm starting at ground zero (almost) with an Octeon based platform relat=
ed
>> 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 righ=
t
> now.  uboot gives us:
>
> in a3 is passed in the cavium hardware descriptor.  All other registers a=
re
> 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'.

Juli.
_______________________________________________
freebsd-mips@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mips
To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AC6674AB7BC78549BB231821ABF7A9AE970EA0646A>