Re: kbuild now support arch/$ARCH/include - time for ARCHs to convert

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 31, 2008 at 07:23:15PM +0100, Ralf Baechle wrote:
> On Mon, Jul 28, 2008 at 10:05:00PM +0200, Sam Ravnborg wrote:
> 
> > The traditional location of the arch specific Makefiles
> > has been at:
> > 
> > 	include/asm-$ARCH
> > 
> > But as suggested by several people over time and lately
> > by Linus in the following post:
> > http://kerneltrap.org/mailarchive/linux-kernel/2008/5/21/1903924
> > 
> > is is suggested to move the arch specific files under arch/
> > and for the header files this is arch/$ARCH/include.
> > 
> > So I have hacked up support for this in kbuild so
> > for the simpler cases a simple move of header files as
> > in:
> > 	git mv include/asm-$ARCH arch/$ARCH/include/asm
> > 
> > is enough.
> > 
> > If Linus will accept it then I think -rc1 is a perfect
> > time to do it as people has less stuff pending touching
> > the header files that are moved.
> > Validation is easy - does the usual configs build?
> > 
> > For the archs that plays games with symlinks this is a
> > splendid opportunity to get rid af these.
> > The receipe is simple:
> > Use 
> > 	KBUILD_CFLAGS += -Iarch/$ARCH/include/$CPU
> > 
> > to select the CPU and then do a copy of the header files
> > like this:
> > 
> > 	git mv include/asm-$ARCH/$CPU arch/$ARCH/include/$CPU/cpu
> > 
> > Then the code can continue to use:
> > 
> > 	#include <cpu/foo.h>
> > 
> > I already converted sparc to use arch/sparc/include -
> > while I merged the header files for sparc and sparc64.
> > This change is already upstream.
> > 
> > And for SH I posted a receipe which you can read here:
> > http://lkml.org/lkml/2008/7/28/83
> > 
> > It is SH specific but anyway pretty generic.
> > 
> > I am limited in time and resources at the moment but I
> > would be glad to help out as time permits should there
> > be any questions.
> 
> I just did the necessary changes for MIPS and the first testbuild is running
> successfully so far.
> 
> One of the ugly things in the MIPS makefiles is the use of platform-
> specific headers in include/asm-mips/mach-* which contain platform specific
> headers.  Ideally those should be included through something like
> <mach/somefile.h> or <plat/something.h> and I think a directory like
> arch/$ARCH/$PLATFORM/include/plat/foobar.h could be a good place in the
> new scheme?  I assume other platforms have similar issues with subplatforms,
> processor sub-architectures etc.?

I like it. And rmk suggested something similar so I dragged you into
that thread (on linux-arm-kernel). Let's continue there.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux