Messages in this thread | | | Date | Thu, 31 Jul 2008 22:14:44 +0200 | From | Sam Ravnborg <> | Subject | Re: kbuild now support arch/$ARCH/include - time for ARCHs to convert |
| |
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
| |