From: Arnd Bergmann <arnd@arndb.de>
To: Paul Mundt <lethal@linux-sh.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
David Howells <dhowells@redhat.com>,
Greg Ungerer <gerg@snapgear.com>, Sam Ravnborg <sam@ravnborg.org>,
linux arch <linux-arch@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Linux/m68k <linux-m68k@vger.kernel.org>,
uClinux list <uclinux-dev@uclinux.org>
Subject: Re: kbuild now support arch/$ARCH/include - time for ARCHs to convert
Date: Thu, 31 Jul 2008 21:47:25 +0200 [thread overview]
Message-ID: <200807312147.25837.arnd@arndb.de> (raw)
In-Reply-To: <20080731032338.GA14296@linux-sh.org>
On Thursday 31 July 2008, Paul Mundt wrote:
> This sort of merging is fairly easy to do incrementally, at least by
> someone that has both platforms available. An easy first step would be to
> move the m68knommu stuff that are implemented differently over as _nommu
> files, similar to how the _32/_64 renames happened, and then set about
> converging the two little by little. This is what I've been doing with
> sh64->sh integration for example, despite fundamental differences like
> having a totally different register layout and instruction set.
I've played around with the purely mechanical side of merging the
m68k{,nommu} header files and came up with a script to do it.
All headers that are identical are used from their m68k variant, the
others get an #include magic like x86 has it for 32/64.
This assumes that the kernel ABI is compatible and that user space
can actually use the m68k headers for m68knommu as well.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
TARGET=arch/m68k/include/asm
SOURCE1=include/asm-m68k
SOURCE2=include/asm-m68knommu
FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \
cacheflush.h checksum.h cputime.h current.h delay.h div64.h \
dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \
irq.h kmap_types.h local.h machdep.h mc146818rtc.h mmu.h mmu_context.h \
module.h page.h page_offset.h param.h pci.h percpu.h pgalloc.h \
pgtable.h processor.h ptrace.h scatterlist.h sections.h segment.h \
setup.h sigcontext.h siginfo.h signal.h string.h system.h \
thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \
unaligned.h unistd.h"
EXPORTS="byteorder param ptrace sigcontext siginfo signal unistd"
mergefile() {
BASE=${1%.h}
mv $SOURCE1/$1 $TARGET/${BASE}_mmu.h
mv $SOURCE2/$1 $TARGET/${BASE}_nommu.h
cat << EOF > $TARGET/$1
#ifdef __KERNEL__
#ifdef CONFIG_MMU
#include "${BASE}_mmu.h"
#else
#include "${BASE}_nommu.h"
#endif
#else
#include "${BASE}_mmu.h"
#endif
EOF
}
mergefile2() {
if [ -e ${TARGET}/$1 ] ; then
rm $SOURCE2/$1
else
mv $SOURCE2/$1 ${TARGET}
fi
}
addexport() {
echo "unifdef-y += ${1}_mmu.h" >> $TARGET/Kbuild
}
mkdir -p ${TARGET}
# first the incompatible files
for i in $FILES ; do mergefile $i ; done
# move all the remaining m68k files
mv include/asm-m68k/* arch/m68k/include/asm/
# add a few files that are present only on nommu,
# remove the duplicate nommu files.
for i in `ls include/asm-m68knommu/` ; do mergefile2 $i ; done
# make sure the new files get exported where needed.
for i in $EXPORTS ; do addexport $i ; done
next prev parent reply other threads:[~2008-07-31 19:47 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-28 20:05 kbuild now support arch/$ARCH/include - time for ARCHs to convert Sam Ravnborg
2008-07-29 3:06 ` Kyle McMartin
2008-07-29 3:27 ` Sam Ravnborg
2008-07-29 14:21 ` Kyle McMartin
2008-08-09 2:50 ` Sam Ravnborg
2008-07-30 6:49 ` Greg Ungerer
2008-07-30 7:07 ` Arnd Bergmann
2008-07-30 8:52 ` Sam Ravnborg
2008-07-30 9:34 ` David Howells
2008-07-30 12:26 ` Geert Uytterhoeven
2008-07-30 12:26 ` Geert Uytterhoeven
2008-07-31 3:23 ` Paul Mundt
2008-07-31 7:17 ` Geert Uytterhoeven
2008-07-31 11:26 ` Greg Ungerer
2008-07-31 19:47 ` Arnd Bergmann [this message]
2008-07-31 20:13 ` Sam Ravnborg
2008-08-01 7:35 ` Arnd Bergmann
2008-08-01 16:46 ` Sam Ravnborg
2008-07-30 8:38 ` Sam Ravnborg
2008-08-01 6:03 ` Greg Ungerer
2008-08-03 20:16 ` Geert Uytterhoeven
2008-08-04 0:34 ` Greg Ungerer
2008-08-04 5:10 ` Sam Ravnborg
2008-08-04 14:35 ` Arnd Bergmann
2008-08-04 16:00 ` Geert Uytterhoeven
2008-08-04 16:45 ` Sam Ravnborg
2008-07-31 18:23 ` Ralf Baechle
2008-07-31 20:14 ` Sam Ravnborg
2008-08-09 2:52 ` Sam Ravnborg
2008-08-09 3:09 ` Paul Mundt
2008-08-09 7:03 ` Sam Ravnborg
2008-08-09 7:20 ` Russell King
2008-08-09 11:13 ` Sam Ravnborg
2008-08-01 8:35 ` Martin Schwidefsky
2008-08-01 16:49 ` Sam Ravnborg
2008-08-05 4:18 ` Rusty Russell
2008-08-05 17:16 ` Geert Uytterhoeven
2008-08-05 20:45 ` Sam Ravnborg
2008-08-05 22:06 ` Russell King
2008-08-06 19:21 ` Russell King
2008-08-06 19:28 ` Sam Ravnborg
2008-08-06 19:51 ` Russell King
2008-08-06 19:27 ` Sam Ravnborg
2008-08-09 7:28 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807312147.25837.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=dhowells@redhat.com \
--cc=geert@linux-m68k.org \
--cc=gerg@snapgear.com \
--cc=lethal@linux-sh.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=uclinux-dev@uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.