From owner-freebsd-current@FreeBSD.ORG Thu May 24 16:21:33 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90191106566C for ; Thu, 24 May 2012 16:21:33 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from argol.doit.wisc.edu (argol.doit.wisc.edu [144.92.197.212]) by mx1.freebsd.org (Postfix) with ESMTP id 58F6E8FC1A for ; Thu, 24 May 2012 16:21:33 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth3.wiscmail.wisc.edu by smtpauth3.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0M4J00M02C3RZK00@smtpauth3.wiscmail.wisc.edu> for freebsd-current@freebsd.org; Thu, 24 May 2012 11:21:27 -0500 (CDT) Received: from comporellon.tachypleus.net ([unknown] [76.210.69.41]) by smtpauth3.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0M4J00EJ3C3PLI30@smtpauth3.wiscmail.wisc.edu> for freebsd-current@freebsd.org; Thu, 24 May 2012 11:21:26 -0500 (CDT) Date: Thu, 24 May 2012 11:21:25 -0500 From: Nathan Whitehorn In-reply-to: To: freebsd-current@freebsd.org Message-id: <4FBE6005.1030708@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=76.210.69.41 X-Spam-PmxInfo: Server=avs-14, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.5.24.160917, SenderIP=76.210.69.41 References: <20120524112546.bdef0c3c.ray@dlink.ua> <8E4F983B-75F7-45DB-A92E-E66C721896E5@FreeBSD.org> <0DE094C8-38CC-4527-98D6-C7E645EA324A@bsdimp.com> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:12.0) Gecko/20120521 Thunderbird/12.0.1 Subject: Re: Customizing ubldr build... X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 May 2012 16:21:33 -0000 On 05/24/12 10:58, Damjan Marion wrote: > On May 24, 2012, at 4:30 PM, Warner Losh wrote: >> On May 24, 2012, at 3:40 AM, Damjan Marion wrote: >>> On May 24, 2012, at 10:25 AM, Aleksandr Rybalko wrote: >>> >>> I was looking into this few months ago but I didn't found a value in doing >>> this in embedded world where we already have custom kernel for each SoC/board. >>> >>> Maybe we will have GENERIC arm kernel one day, but there is long road.... >> I'm working on that, at least for all Atmel kernels. We'll have at least three kernels though: armv4 little endian, armv4 big endian and armv6 little endian. Even for atmel, some of the id registers are such we may need multiple kernels. > I guess they all use same interrupt controller. > Currently there can be only support for one intc built in kernel so that needs serious rework. > > Damjan This is something we've solved quite nicely on PowerPC. The current code allows interrupt controllers to be regular device drivers, including support for systems with multiple interrupt controllers and domains, so I'd suggest pulling that code over if Warner hasn't done it yet. FDT (or real Open Firmware) really helps here. There's a lot of code in the PPC tree for running the same kernels on systems with very different properties (MMUs, firmware, paravirtualized and bare metal, multiple hypervisors, PICs, etc.) that may be helpful for ARM/MIPS GENERIC. The exact same PPC64 kernel can boot a PS3 under a paravirtualized hypervisor with custom firmware, a Powermac G5, or an IBM machine, with or without hypervisor, for instance. -Nathan