Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 May 2012 11:21:25 -0500
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        freebsd-current@freebsd.org
Subject:   Re: Customizing ubldr build...
Message-ID:  <4FBE6005.1030708@freebsd.org>
In-Reply-To: <C462E47B-F3D2-4460-8CC1-0925EEDFDEFA@FreeBSD.org>
References:  <E84EA543-11A9-4EA6-9313-6908F485C569@freebsd.org> <CAJ-VmomyYPzqEJ86a6tfKSDeYrBqD21UDjefqyFNZC4yJ-pLWA@mail.gmail.com> <EBC5FF24-B1F5-43CD-AB1C-3BB659E8F5C6@freebsd.org> <B9008F20-E417-48BC-AAAC-8111A39B0A8B@FreeBSD.org> <20120524112546.bdef0c3c.ray@dlink.ua> <8E4F983B-75F7-45DB-A92E-E66C721896E5@FreeBSD.org> <0DE094C8-38CC-4527-98D6-C7E645EA324A@bsdimp.com> <C462E47B-F3D2-4460-8CC1-0925EEDFDEFA@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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