From owner-freebsd-mips@FreeBSD.ORG Tue Aug 10 20:07:33 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBE801065679 for ; Tue, 10 Aug 2010 20:07:33 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 838CF8FC0A for ; Tue, 10 Aug 2010 20:07:33 +0000 (UTC) Received: by ewy26 with SMTP id 26so4743949ewy.13 for ; Tue, 10 Aug 2010 13:07:32 -0700 (PDT) Received: by 10.216.160.15 with SMTP id t15mr15606511wek.75.1281470852188; Tue, 10 Aug 2010 13:07:32 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.216.5.5 with HTTP; Tue, 10 Aug 2010 13:07:12 -0700 (PDT) In-Reply-To: References: From: Juli Mallett Date: Tue, 10 Aug 2010 13:07:12 -0700 X-Google-Sender-Auth: B4O8bMBH88T_UCkjBYnK9HW891c Message-ID: To: waynegong L Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-mips@freebsd.org Subject: Re: HEADSUP : n64 changes in HEAD. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Aug 2010 20:07:34 -0000 On Tue, Aug 10, 2010 at 07:26, waynegong L 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.