Subject: Re: Building for both ARM V4 and ARM V5 systems
To: Richard Earnshaw <Richard.Earnshaw@buzzard.freeserve.co.uk>
From: Bucky Katz <bucky@picovex.com>
List: port-arm
Date: 08/07/2006 11:07:05
Richard Earnshaw <Richard.Earnshaw@buzzard.freeserve.co.uk> writes:

> Unfortunately, some of those machines were quite popular with the
> early developers of the NetBSD port (I have a couple lying around
> here, for example); persuading these developers to throw those
> machines away, so that we can make the base architecture v4 (or even
> higher) is quite hard.  But the problem has been substantially
> finessed by building individual kernels with the correct CPU flags.
>

This leads, indirectly, to my next question.  Expanding on what we're
doing: We need to support two platforms:

* TS72xx board, already an evbarm port, uses Cirrus EP9302 processor,
  which has an ARM V4T arm920t core.

* OSK5910 board, evbarm port we hope to contribute, uses TI OMAP 331
  processor, which ahs an ARM V5T arm926ej-s core. 

We'd like to build one V4T userland to be used by each and then build
CPU specific kernels.

We're using a mk.conf file and I had thought the solution would be to
put CPUFLAGS+=-march=armv4t and then overide it in the kernel makefile
fragment.  If I'm clever and only set MAKECONF when I'm doing userland
builds, that works, but then I try to use build.sh to make release,
and that of course doesn't allow me to use that trick.

So my question is: How do I build a v4t userland and
build both v4t and v5t kernels out of the release target?