Date: Thu, 26 Aug 2010 08:27:51 -0700 From: Patrick Mahan <PMahan@adaranet.com> To: "M. Warner Losh" <imp@bsdimp.com>, "c.jayachandran@gmail.com" <c.jayachandran@gmail.com> Cc: "freebsd-mips@FreeBSD.org" <freebsd-mips@FreeBSD.org> Subject: RE: Is the MIPS kernel buildable from HEAD? Message-ID: <32AB5C9615CC494997D9ABB1DB12783C024C875653@SJ-EXCH-1.adaranet.com> In-Reply-To: <20100825.232923.287595822763821210.imp@bsdimp.com> References: <32AB5C9615CC494997D9ABB1DB12783C024C875590@SJ-EXCH-1.adaranet.com> <20100825.151325.645538350615354761.imp@bsdimp.com> <AANLkTi=FZrdjE0KoUHvOiB9hyz5ZDWepS9743ghAw9SU@mail.gmail.com> <20100825.232923.287595822763821210.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message-----
> From: M. Warner Losh [mailto:imp@bsdimp.com]
> Sent: Wednesday, August 25, 2010 10:29 PM
> To: c.jayachandran@gmail.com
> Cc: Patrick Mahan; freebsd-mips@FreeBSD.org
> Subject: Re: Is the MIPS kernel buildable from HEAD?
>
> In message: <AANLkTi=FZrdjE0KoUHvOiB9hyz5ZDWepS9743ghAw9SU@mail.gmail.com>
> "Jayachandran C." <c.jayachandran@gmail.com> writes:
> : On Thu, Aug 26, 2010 at 2:43 AM, M. Warner Losh <imp@bsdimp.com> wrote:
> : > In message: <32AB5C9615CC494997D9ABB1DB12783C024C875590@SJ-EXCH-
> 1.adaranet.com>
> : > Patrick Mahan <PMahan@adaranet.com> writes:
> : > : Is it possible to build the MIPS kernel from HEAD? Or is the
> : > : current development still external to the HEAD branch?
> : >
> : > Yes. The tip of head is where the mips action is these days. There
> : > is no external development branch.
> : >
> : > There is one issue, however. If you are building for one of the
> : > 64-bit processors a 64-bit kernel, then the required userland won't
> : > build. There's still issues that need to be sorted out...
> :
> : The 64-bit userland builds for me with -DWITHOUT_CDDL -DWITHOUT_USB
> : -DWITHOUT_BLUETOOTH -DWITHOUT_RESCUE - are you referring to these, or
> : are there other issues?
>
> I can do a buildworld now without any of these flags. I don't know
> what the bluetooth issue is/was, but it doesn't kill the build. I
> fixed the CDDL issue, and papered over the uath and rescue issues in
> the build system.
>
> I can now build a n64 world in -current. I haven't had a chance to
> run it yet, but hope to soon. My CN38xx board doesn't like the 32-bit
> kernel anymore... It also doesn't like the 64-bit kernel, but I think
> that's a uboot issue. It seems older ldscripts didn't tickle the bugs
> the current one does (on the other hand, the old ldscripts only worked
> on the CN38xx board). On the other hand, SDK 1.9.0's uboot on another
> board works fine with the 64-bit kernel.
>
Warner,
We build o32 with our modified FreeBSD 8.0 that boots under the SDK 1.8.1
on a CN58XX. However, I was looking at the ldscript that we use versus
the one in use for you. We are using what is basically sys/conf/ldscript.mips.
Also, I think our problem is with the a3 register passed in as part of
platform_start() in cavium/octeon_machdep.c. We have the following in
mips/lowcore.S -
#if defined(TARGET_OCTEON)
la a0, app_descriptor_addr
sw a3, 0(a0) /* Store app descriptor ptr */
#endif
So we are storing the value of a3 into a global that we later use in
octeon32/Octeon_machdep.c -
static void
mips_boot_params_init(void)
{
int descriptor_not_parsed = 1;
if ((app_descriptor_addr == 0) || (app_descriptor_addr >= 0xAfffffff)) {
printf("address of app_descriptor is %x\n",
app_descriptor_addr);
} else {
app_desc_ptr = (octeon_boot_descriptor_t *) app_descriptor_addr;
octeon_bd_ver = app_desc_ptr->desc_version;
...
I am need to investigate, but I think we found that a3 was getting clobbered on
the inbound call to platform_start().
Patrick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32AB5C9615CC494997D9ABB1DB12783C024C875653>
