Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Aug 2010 13:07:12 -0700
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        waynegong L <waynegong83@gmail.com>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: HEADSUP : n64 changes in HEAD.
Message-ID:  <AANLkTi==cx1EVOPH-zto9bVa4fBb_Hgz5RMjmt%2BpUfkM@mail.gmail.com>
In-Reply-To: <AANLkTim8r9xEMYz9PO%2BYwYEyVphQQ%2Bd4vZFhFZsVE9Hx@mail.gmail.com>
References:  <AANLkTimykzp%2Bv-x1V_u%2Bp3Q9BUW=vdbv84D0e%2BTwJ1Em@mail.gmail.com>  <AANLkTimXKCPUWvmitNADEakCRxDks51Bd3-0MqhR=kwb@mail.gmail.com>  <AANLkTikiTun2GXNnLs%2BwftBBJqjaMr73CXGghbgcLkW5@mail.gmail.com>  <AANLkTi=xnCRZPdM8b0kwLjSM_0RPMLf2D2wZp%2BHgFFYy@mail.gmail.com>  <AANLkTi=2x%2BSkzUZLL9wWbfsCHL4NfwUwFonop2_zwj6j@mail.gmail.com>  <AANLkTim8r9xEMYz9PO%2BYwYEyVphQQ%2Bd4vZFhFZsVE9Hx@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 10, 2010 at 07:26, waynegong L <waynegong83@gmail.com> wrote:
> On N64 userspace&kernel, During booting ENOENT error is reported from
> devfs_fixup(), as below.
> This error was not seen with previous revisions atleast on my Octeon board.
>
> Trying to mount root from ufs:/dev/md0
> *Lookup of /dev for devfs, error: 2*
> start_init: trying /sbin/init
> panic: userret: Returning with 1 locks held.

Do you have a /dev directory on your md image?

> Other day, i tried building the sources for n32 ABI, but the kernel build
> failed with below error. My config file was OCTEON1-32

I know you'd rather use n64 than n32, so you can ignore some of this,
but I want to take this opportunity to repeat myself about n32.

OCTEON1-32 is an o32 kernel configuration, not an n32 one.  Setting
TARGET_ABI is not enough because the kernel configurations do not
trust TARGET_ABI and TARGET_BIG_ENDIAN to be set in the environment
and override target information gratuitously (their linker scripts do,
too.)

I can tell you privately how to build an n32 kernel but n32 breaks a
lot of assumptions within the kernel and I don't want to see a lot of
bug reports about how various things in the kernel don't compile for
n32 or don't work or whatever.  The right thing to do is to track down
your n64 issues.

In the relatively near future we'll have support for running o32 and
n32 binaries on an n64 kernel, that should be all you ever need.  If
you can run an n32 kernel you can run an n64 kernel, and n64 has the
advantage of not being so pathologically strange that the kernel can't
cope with it.  I'm willing in theory to make our kernel aware of the
limitations of something like n32, but nobody else is and with good
reason.  The expectations it violates are widespread and it would be a
big burden for FreeBSD to support n32 assumptions throughout the
machine-independent parts of the kernel, especially since there's no
good reason to use n32 over n64 other than that some people think they
need n32.  By the time there is a release, we'll hopefully have
support for running n32 worlds on n64 kernels, which actually does
make sense.

Thanks,
Juli.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi==cx1EVOPH-zto9bVa4fBb_Hgz5RMjmt%2BpUfkM>