Customizing ubldr build...
nwhitehorn at freebsd.org
Thu May 24 16:21:33 UTC 2012
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.
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.
More information about the freebsd-current