Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
Subsystems (3)
[this mail is cross posted to uclinux mailing list which is subscriber only]
Following is a pseudo patch (a script + a patch) that merges the include files for m68k and m68knommu in one place at:
arch/m68k/include/asm
The script was written by Arnd and I added a few modifications.
The scripts does the following:
1) move all header files from include/asm-m68k to arch/m68k/include/asm
2) delete all header files in arch/m68knommu/include/asm that are equal
3) copy all unique files from arch/m68knommu/include/asm to m68k
4) merge the reminaing files using a small helper .h files.
The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager]
I have used the following include guard:
#ifdef __uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endif
gcc -E -dM for the two compilers revealed that this was the only symbol that differed.
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use a CONFIG_ symbol for the same.
The script assumes the repository is kept in git and shall be executed in the root of the kernel source.
Originally we developed support for sharing same set of header files between two architectures for sparc. So only a minimal patch is needed in the top-level Makefile which is now a good thing for m68k.
I have tested the following:
- a defconfig build for m68k [partly - I lost patience]
- a allnoconfig build for m68knommu
- headers_check for m68k
- headers_check for m68knommu
To merge the header files run the script and then apply the patch. The patch has my:
I looked at doing this in smaller steps but that was not doable. And using the script it is anyway a simple operation to do.
I hope you m68k* guys accept a two step approach where we merge header files before source code.
Note: we just completed merge of sparc and sparc64 and it was a painless experience to do so so do not be scared.
Note: the part touching the top-level Makefile will conflict with some pending sparc changes. But this is trivial to fix. Or just beat sparc and get this in first :-)
Sam
Script:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asm
# files that just do a simple include of the m68k variant INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h"
# files are equal or only include guards differ EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h"
# only in nommu68k NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h"
# files that differ FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.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 machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.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"
mergefile() {
BASE=${1%.h}
git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h
git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.hcat << EOF > ${TARGET}/$1
#ifdef __uClinux__
#include "${BASE}_no.h"
#else
#include "${BASE}_mm.h"
#endif
EOF
git add ${TARGET}/$1
}#catch bugs in script
set -e
mkdir -p ${TARGET}
# move all m68k header files
git mv include/asm-m68k/* ${TARGET}
rmdir include/asm-m68k# Kbuild n m68knommu is no longer needed - the m68k variant has it all git rm ${SOURCE}/Kbuild
# Files that are equal or just include the m68k variant can be deleted for F in $INCLUDE $EQUAL; do
git rm ${SOURCE}/$Fdone
# Files that are unique for m68knommu can be moved for F in $NOMUUFILES; do
git mv ${SOURCE}/$F ${TARGET}/$Fdone
# merge the incompatible files for F in $FILES ; do mergefile $F done
#directory should be empty now - remove it (and fail if not empty) rmdir arch/m68knommu/include/asm
rmdir arch/m68knommu/include
Patch:
Makefile +3 -0
@@ -211,6 +211,9 @@ ifeq ($(ARCH),sparc64) else hdr-arch := $(SRCARCH) endif +ifeq ($(ARCH),m68knommu) + hdr-arch := m68k +endif KCONFIG_CONFIG ?= .config
arch/m68k/include/asm/pci_no.h +1 -1
@@ -1,7 +1,7 @@#ifndef M68KNOMMU_PCI_H #define M68KNOMMU_PCI_H -#include <asm-m68k/pci.h> +#include <asm/pci_mm.h> #ifdef CONFIG_COMEMPCI /*
arch/m68k/include/asm/setup_no.h +1 -1
@@ -1,6 +1,6 @@#ifdef __KERNEL__ -#include <asm-m68k/setup.h> +#include <asm/setup_mm.h> /* We have a bigger command line buffer. */ #undef COMMAND_LINE_SIZE
Quoted 6 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.
One thing worth adding is that this patch fixes:
make ARCH=m68knommu headers_check
It did not work before - but with this patch is works as expected.
Sam
Geert Uytterhoeven
maintainerQuoted 6 lines · Sam Ravnborg
Following is a pseudo patch (a script + a patch) that merges the include files for m68k and m68knommu in one place at:
arch/m68k/include/asmThe script was written by Arnd and I added a few modifications.
Thanks! I'll take a closer look when I'll find some spare time...
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.
So I prefer to just check CONFIG_MMU.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Quoted 15 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 7 lines
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.So I prefer to just check
CONFIG_MMU.
Some of them are, by means of include/asm-generic/Kbuild.asm, e.g. unistd.h!
I'm not sure if it's entirely correct, but I think you can use
#ifdef __KERNEL__
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endif
Arnd <><
Quoted 22 lines · Arnd Bergmann
Quoted 21 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.
Quoted 4 lines
Quoted 1 line
So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!
I was fooled by make headers_check showing no errros. But it turns out that headers_check does not recognize includes made with "".
So I will update the patch to include revevant *_{no,mm}.h files in Kbuild.
Quoted 4 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__
Quoted 12 lines
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endif
Can someone with a shared (m68k/m68knommu) please check if __uClinux__ is only set in the m68knommu case.
Use:
touch foo.h; gcc -E -dM
to see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.
Thanks,
Sam
Geert Uytterhoeven
maintainerQuoted 23 lines · Sam Ravnborg
Quoted 22 lines · Arnd Bergmann
Quoted 21 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!
Interesting, I'd expect unistd.h to be the same!
Ah, it's the restart_syscall:
m68knommu/include/asm/unistd.h renamed from asm-m68k/unistd.h +1 -3
@@ -5,6 +5,7 @@* This file contains the system call numbers. */ +#define __NR_restart_syscall 0#define __NR_exit 1#define __NR_fork 2#define __NR_read 3
@@ -359,9 +360,6 @@#define __ARCH_WANT_SYS_SIGPROCMASK#define __ARCH_WANT_SYS_RT_SIGACTION -/* whitelist for checksyscalls */ -#define __IGNORE_restart_syscall -/* * "Conditional" syscalls *
Sorry, I don't know about syscall restart handling, and why it differs. Anyone who can enlighten me?
Quoted 24 lines
I was fooled by make
headers_checkshowing no errros. But it turns out thatheaders_checkdoes not recognize includes made with "".So I will update the patch to include revevant *_{no,mm}.h files in
Kbuild.Quoted 4 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__Quoted 12 lines
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endif
Quoted 2 lines
Can someone with a shared (m68k/m68knommu) please check if
__uClinux__is only set in the m68knommu case.
^^^^
always and only
Quoted 7 lines
Use:
touch
foo.h; gcc -E -dMto see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.
Still, I don't see why the compiler needs to be aware of being configured for m68k or m68knommu, so IMHO this is a very fragile test...
What are the other exported headers that differ?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 23 lines · Geert Uytterhoeven
Ah, it's the
restart_syscall:m68knommu/include/asm/unistd.h renamed from asm-m68k/unistd.h +1
-3@@ -5,6 +5,7 @@* This file contains the system call numbers. */ +#define __NR_restart_syscall 0#define __NR_exit 1#define __NR_fork 2#define __NR_read 3@@ -359,9 +360,6 @@#define __ARCH_WANT_SYS_SIGPROCMASK#define __ARCH_WANT_SYS_RT_SIGACTION -/* whitelist for checksyscalls */ -#define __IGNORE_restart_syscall -/* * "Conditional" syscalls *
Quoted 2 lines
Sorry, I don't know about syscall restart handling, and why it differs. Anyone who can enlighten me?
The syscall restart handling is not yet implemented on m68k(nommu), so there is no real difference.
Andreas.
Signature · 8 lines
Andreas Schwab, SuSE Labs, [email protected] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 1 line · Geert Uytterhoeven
What are the other exported headers that differ?
byteorder.h, param.h, ptrace.h, setup.h, sigcontext.h, siginfo.h, signal.h and unistd.h.
Arnd <><
Quoted 5 lines · Arnd Bergmann
Quoted 1 line · Geert Uytterhoeven
What are the other exported headers that differ?
byteorder.h,param.h,ptrace.h,setup.h,sigcontext.h,siginfo.h,signal.handunistd.h.
And diffing these files for the most part it looked like a simple job for someone with some basic m68k/m68knommu knowledge to unify these.
That would be a natural next step when the headers are unified. I do not see it as a prerequisite for the merge of the header files.
Sam
Geert Uytterhoeven
maintainerQuoted 54 lines · Sam Ravnborg
Quoted 22 lines · Arnd Bergmann
Quoted 21 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.Quoted 4 lines
Quoted 1 line
So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!I was fooled by make
headers_checkshowing no errros. But it turns out thatheaders_checkdoes not recognize includes made with "".So I will update the patch to include revevant *_{no,mm}.h files in
Kbuild.Quoted 4 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__Quoted 12 lines
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endifCan someone with a shared (m68k/m68knommu) please check if
__uClinux__is only set in the m68knommu case.
Quoted 6 lines
Use:
touch
foo.h; gcc -E -dMto see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.
Any comments from the m68knommu toolchain people?
None of my m68k-linux compilers set __uClinux__, as expected.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 1 line · Geert Uytterhoeven
None of my m68k-linux compilers set
__uClinux__, as expected.
IIUC, userspace ABI is supposed to be completely identical.
Andreas.
Signature · 4 lines
Andreas Schwab, SuSE Labs, [email protected] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
Quoted 5 lines · Andreas Schwab
Quoted 1 line · Geert Uytterhoeven
None of my m68k-linux compilers set
__uClinux__, as expected.IIUC, userspace ABI is supposed to be completely identical.
The header files are currently different for the definitions of __arch__swab32, EXEC_PAGESIZE, struct sigcontext, struct siginfo, struct pt_regs (coldfire only) and COMMAND_LINE_SIZE.
I don't expect the last two to cause any trouble, but the others are likely to.
__arch_swab32 should be protected with __mcfisaaplus__ (as it already is on m68knommu).
pt_regs on m68knommu is already screwed by itself, because it depends on the CONFIG_COLDFIRE symbol. I don't think that it's possible to build a gdb for coldfire with the current headers, because CONFIG_* symbols are not visible in user space.
The signal handling ABI is currently broken on m68knommu:
commit 19dbaf6f6 "m68knommu: save reg a5 on context change", changes the layout of struct sigcontext in an incompatible way from older m68knommu and all m68k versions.
Prior to that, Linux-2.5.64 changed m68knommu to use the generic siginfo instead of the m68k compatible one, thereby removing uid32 support from it. This breaks when you build a libc with uid32 against the m68k headers.
Arnd <><
Geert Uytterhoeven
maintainerQuoted 56 lines · Geert Uytterhoeven
Quoted 55 lines · Sam Ravnborg
Quoted 22 lines · Arnd Bergmann
Quoted 21 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.Quoted 4 lines
Quoted 1 line
So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!I was fooled by make
headers_checkshowing no errros. But it turns out thatheaders_checkdoes not recognize includes made with "".So I will update the patch to include revevant *_{no,mm}.h files in
Kbuild.Quoted 15 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endifCan someone with a shared (m68k/m68knommu) please check if
__uClinux__is only set in the m68knommu case.Use:
Quoted 8 lines
Quoted 4 lines
touch
foo.h; gcc -E -dMto see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.Any comments from the m68knommu toolchain people?
None of my m68k-linux compilers set
__uClinux__, as expected.
Can't we unifdef out in scripts/headers_install.pl based on CONFIG_MMU?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 4 lines · Geert Uytterhoeven
Quoted 2 lines
None of my m68k-linux compilers set
__uClinux__, as expected.Can't we unifdef out in
scripts/headers_install.plbased onCONFIG_MMU?
That should work, but I'm not convinced that it is what you want. If you want binaries to be used interchangably between the two, you really need to fix the signal handling and pt_regs on m68knommu, and someone should try to work out what EXEC_PAGESIZE and COMMAND_LINE_SIZE should really be defined to.
Arnd <><
Quoted 52 lines · Geert Uytterhoeven
Quoted 51 lines · Sam Ravnborg
Quoted 15 lines · Arnd Bergmann
Quoted 14 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!I was fooled by make
headers_checkshowing no errros. But it turns out thatheaders_checkdoes not recognize includes made with "".So I will update the patch to include revevant *_{no,mm}.h files in
Kbuild.Quoted 15 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endifCan someone with a shared (m68k/m68knommu) please check if
__uClinux__is only set in the m68knommu case.Use:
Quoted 8 lines
Quoted 4 lines
touch
foo.h; gcc -E -dMto see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.Any comments from the m68knommu toolchain people?
None of my m68k-linux compilers set
__uClinux__, as expected.
A m68k-uclinux- gcc will. From a gcc-4.2.4
m68k-uclinux-gcc -E -dM /tmp/foo.h | grep -i linux
#define __linux 1 #define __linux__ 1 #define __uClinux__ 1 #define __gnu_linux__ 1 #define linux 1
(I think that is one of the very few differences of m68k-linux over m68k-uclinux...)
I would rather just have a m68k-linux myself, and not have a separate m68k-uclinux toolchain.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear, a McAfee Company PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
Quoted 40 lines
Quoted 21 lines
Quoted 21 lines
Quoted 4 lines
I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__Quoted 12 lines
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endifCan someone with a shared (m68k/m68knommu) please check if
__uClinux__is only set in the m68knommu case.Use:
Quoted 8 lines
Quoted 4 lines
touch
foo.h; gcc -E -dMto see what is defined by the compiler.
You will also need to specify if this is for m68k or m68knommu.Any comments from the m68knommu toolchain people?
None of my m68k-linux compilers set
__uClinux__, as expected.A m68k-uclinux- gcc will. From a gcc-4.2.4
m68k-uclinux-gcc -E -dM
/tmp/foo.h| grep -i linux#define __linux 1 #define __linux__ 1 #define __uClinux__ 1 #define __gnu_linux__ 1 #define linux 1
Quoted 5 lines
(I think that is one of the very few differences of m68k-linux over m68k-uclinux...)
I would rather just have a m68k-linux myself, and not have a separate m68k-uclinux toolchain.
A precondition for this is I expect a unified ABI for m68k and m68knommu. With the merged headers it is now much more obvious where the ABI differs, so fixing the ABI differences now got one step easier.
Sam
Quoted 30 lines · Arnd Bergmann
Quoted 15 lines · Geert Uytterhoeven
Quoted 10 lines
I have used the following include guard:
#ifdef
__uClinux__
#include "atomic_no.h"
#else
#include "atomic_mm.h"
#endifgcc -E -dM for the two compilers revealed that this was the only symbol that differed.
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
Quoted 7 lines
Quoted 5 lines
With the above construct we do the "right thing" also for headers exported to userspace.
But actually none of the headers using the above are subject for export at the moment so we could use aCONFIG_symbol for the same.So I prefer to just check
CONFIG_MMU.Some of them are, by means of
include/asm-generic/Kbuild.asm, e.g.unistd.h!I'm not sure if it's entirely correct, but I think you can use
#ifdef
__KERNEL__
Quoted 12 lines
# ifdef CONFIG_MMU # include "atomic_mm.h # else # include "atomic_no.h # endif #else # ifndef __uClinux__ # include "atomic_mm.h # else # include "atomic_no.h # endif #endif
I kept the original way of doing it since all reports said that __uClinux__ is set by the m68knommu toolchain.
Using only this symbol makes it simpler what happens.
Sam
Quoted 4 lines · Geert Uytterhoeven
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
The coldfire (m68knommu) doesn't have some instructions; this caused us some grief in the assembly code exported from m68k for byte order in user-space.
-
allon
_______________________________________________
uClinux-dev mailing list [email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected] To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Geert Uytterhoeven
maintainerQuoted 7 lines · Allon Stern
Quoted 3 lines · Geert Uytterhoeven
I think you can share a toolchain for m68k and m68knommu, at least for the kernel (I used my plain m68k toolchain when experimenting with m68knommu for Amiga).
The coldfire (m68knommu) doesn't have some instructions; this caused us some grief in the assembly code exported from m68k for byte order in user-space.
Sure, but that one is nicely protected by "#if defined (__mcfisaaplus__) || defined (__mcfisac__)", right?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 2 lines · Geert Uytterhoeven
Sure, but that one is nicely protected by "#if defined (
__mcfisaaplus__) || defined (__mcfisac__)", right?
Well, that was the patch we had to apply.
It wasn't in the baseline kernel.org kernel.
-
allon
Quoted 6 lines · Allon Stern
Quoted 2 lines · Geert Uytterhoeven
Sure, but that one is nicely protected by "#if defined (
__mcfisaaplus__) || defined (__mcfisac__)", right?Well, that was the patch we had to apply.
It wasn't in the baseline kernel.org kernel.
What kernel.org version?
Its has been in for a little while.
In 2.6.28-rc8:
grep mcfisaaplus arch/m68knommu/include/asm/*
arch/m68knommu/include/asm/bitops.h:#if defined (__mcfisaaplus__) || defined (__mcfisac__) arch/m68knommu/include/asm/byteorder.h:#if defined (__mcfisaaplus__) || defined (__mcfisac__)
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear, a McAfee Company PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list [email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected] To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Quoted 4 lines · Sam Ravnborg
[this mail is cross posted to uclinux mailing list which is subscriber only]
Following is a pseudo patch (a script + a patch) that merges the include files for m68k and m68knommu in one place at:
I fixed the missing files so we now export
a proper set of files to userspace (checked with a local fix to scripts/headers_check.pl).
I will followup with a patch generated by git.
So to apply it you must use git am.
Note: The patch simple move files around and create a few new files so even if you have updated a few files since I created the patch git will do the right-thing.
This patch unify the header files and as this thread has shown there are potential for additional unification.
I see this patch as a natural first step and then we can later address all the obvious unification tasks.
Please apply.
Sam
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: [PATCH] m68k,m68knommu: merge header files
Quoted 5 lines · Sam Ravnborg
Quoted 1 line
From
5a8b9717a399679c4753e596ea864b02a1197025Mon Sep 17 00:00:00 2001From: Sam Ravnborg <[email protected]>
Date: Sat, 13 Dec 2008 21:23:08 +0100
Subject: [PATCH] m68k,m68knommu: merge header files
Quoted 8 lines
Merge header files for m68k and m68knommu to the single location:
arch/m68k/include/asmThe majority of this patch was the result of the
script that is included in the changelog below.The script was originally written by Arnd Bergman and
^^^^^^^ Bergmann
Quoted 1 line
exten by me to cover a few more files.
^^^^^
extended
Quoted 8 lines
When the header files differed the script uses the following:
The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager]
The files uses the following include guard:
This include gaurd works as the m68knommu toolchain set
^^^^^ guard
Quoted 22 lines
the
__uClinux__symbol - so this should work in userspace too.Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them.
The commit has been build tested with both a m68k and a m68knommu toolchain - with success.
The commit has also been tested with "make
headers_check" and this patch fixes makeheaders_checkfor m68knommu.The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asmINCLUDE="cachectl.h
errno.hfcntl.hhwtest.hioctls.hipcbuf.h\linkage.hmath-emu.hmd.hmman.hmovs.hmsgbuf.hopenprom.h\oplib.hpoll.hposix_types.hresource.hrtc.hsembuf.hshmbuf.h\shm.hshmparam.hsocket.hsockios.hspinlock.hstatfs.hstat.h\termbits.htermios.htlb.htypes.huser.h"
Quoted 5 lines
EQUAL="auxvec.h
cputime.hdevice.hemergency-restart.hfutex.h\ioctl.hirq_regs.hkdebug.hlocal.hmutex.hpercpu.h\sections.htopology.h"NOMUUFILES="anchor.h
bootstd.hcoldfire.hcommproc.hdbg.h\
^^^^^^^^^^
NOMMUFILES (as the same typo is present in the other parts of the script
it still worked ;-)
Quoted 49 lines
elia.hflat.hm5206sim.hm520xsim.hm523xsim.hm5249sim.h\m5272sim.hm527xsim.hm528xsim.hm5307sim.hm532xsim.h\m5407sim.hm68360_enet.hm68360.hm68360_pram.hm68360_quicc.h\m68360_regs.hMC68328.hMC68332.hMC68EZ328.hMC68VZ328.h\mcfcache.hmcfdma.hmcfmbus.hmcfne.hmcfpci.hmcfpit.h\mcfsim.hmcfsmc.hmcftimer.hmcfuart.hmcfwdebug.h\nettel.hquicc_simple.hsmp.h"FILES="atomic.h
bitops.hbootinfo.hbug.hbugs.hbyteorder.hcache.h\cacheflush.hchecksum.hcurrent.hdelay.hdiv64.h\dma-mapping.hdma.helf.hentry.hfb.hfpu.hhardirq.hhw_irq.hio.h\irq.hkmap_types.hmachdep.hmc146818rtc.hmmu.hmmu_context.h\module.hpage.hpage_offset.hparam.hpci.hpgalloc.h\pgtable.hprocessor.hptrace.hscatterlist.hsegment.h\setup.hsigcontext.hsiginfo.hsignal.hstring.hsystem.h\thread_info.htimex.htlbflush.htraps.huaccess.hucontext.h\unaligned.hunistd.h"mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.hcat << EOF > ${TARGET}/$1
EOFgit add ${TARGET}/$1 }set -e
mkdir -p ${TARGET}
git mv
include/asm-m68k/*${TARGET}
rmdirinclude/asm-m68kgit rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; dogit rm ${SOURCE}/$Fdone
for F in $NOMUUFILES; do
git mv ${SOURCE}/$F ${TARGET}/$Fdone
for F in $FILES ; do
mergefile $F
done
Quoted 7 lines
rmdir
arch/m68knommu/include/asm
rmdirarch/m68knommu/includeCc Arnd Bergmann <[email protected]>Cc Geert Uytterhoeven <[email protected]>Cc Greg Ungerer <[email protected]>Signed-off-by Sam Ravnborg <[email protected]>
m68k-bits are
Thanks a lot, Arnd, Sam!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
A message that is not in the archive (sent off-list or not yet received): [email protected]
Geert Uytterhoeven
maintainerRe: [PATCH] m68k,m68knommu: merge header files
Quoted 111 lines · Greg Ungerer
Quoted 99 lines · Sam Ravnborg
Quoted 1 line
From
5a8b9717a399679c4753e596ea864b02a1197025Mon Sep 17 00:00:00 2001From: Sam Ravnborg <[email protected]>
Date: Sat, 13 Dec 2008 21:23:08 +0100
Subject: [PATCH] m68k,m68knommu: merge header filesMerge header files for m68k and m68knommu to the single location:
arch/m68k/include/asmThe majority of this patch was the result of the
script that is included in the changelog below.The script was originally written by Arnd Bergman and exten by me to cover a few more files.
When the header files differed the script uses the following:
The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager]
The files uses the following include guard:
This include gaurd works as the m68knommu toolchain set the
__uClinux__symbol - so this should work in userspace too.Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them.
The commit has been build tested with both a m68k and a m68knommu toolchain - with success.
The commit has also been tested with "make
headers_check" and this patch fixes makeheaders_checkfor m68knommu.The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asmINCLUDE="cachectl.h
errno.hfcntl.hhwtest.hioctls.hipcbuf.h\linkage.hmath-emu.hmd.hmman.hmovs.hmsgbuf.hopenprom.h\oplib.hpoll.hposix_types.hresource.hrtc.hsembuf.hshmbuf.h\shm.hshmparam.hsocket.hsockios.hspinlock.hstatfs.hstat.h\termbits.htermios.htlb.htypes.huser.h"EQUAL="auxvec.h
cputime.hdevice.hemergency-restart.hfutex.h\ioctl.hirq_regs.hkdebug.hlocal.hmutex.hpercpu.h\sections.htopology.h"NOMUUFILES="anchor.h
bootstd.hcoldfire.hcommproc.hdbg.h\elia.hflat.hm5206sim.hm520xsim.hm523xsim.hm5249sim.h\m5272sim.hm527xsim.hm528xsim.hm5307sim.hm532xsim.h\m5407sim.hm68360_enet.hm68360.hm68360_pram.hm68360_quicc.h\m68360_regs.hMC68328.hMC68332.hMC68EZ328.hMC68VZ328.h\mcfcache.hmcfdma.hmcfmbus.hmcfne.hmcfpci.hmcfpit.h\mcfsim.hmcfsmc.hmcftimer.hmcfuart.hmcfwdebug.h\nettel.hquicc_simple.hsmp.h"FILES="atomic.h
bitops.hbootinfo.hbug.hbugs.hbyteorder.hcache.h\cacheflush.hchecksum.hcurrent.hdelay.hdiv64.h\dma-mapping.hdma.helf.hentry.hfb.hfpu.hhardirq.hhw_irq.hio.h\irq.hkmap_types.hmachdep.hmc146818rtc.hmmu.hmmu_context.h\module.hpage.hpage_offset.hparam.hpci.hpgalloc.h\pgtable.hprocessor.hptrace.hscatterlist.hsegment.h\setup.hsigcontext.hsiginfo.hsignal.hstring.hsystem.h\thread_info.htimex.htlbflush.htraps.huaccess.hucontext.h\unaligned.hunistd.h"mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.hcat << EOF > ${TARGET}/$1
EOFgit add ${TARGET}/$1 }set -e
mkdir -p ${TARGET}
git mv
include/asm-m68k/*${TARGET}
rmdirinclude/asm-m68kgit rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; dogit rm ${SOURCE}/$Fdone
for F in $NOMUUFILES; do
git mv ${SOURCE}/$F ${TARGET}/$Fdone
for F in $FILES ; do
mergefile $F
doneQuoted 7 lines
rmdir
arch/m68knommu/include/asm
rmdirarch/m68knommu/includeCc Arnd Bergmann <[email protected]>Cc Geert Uytterhoeven <[email protected]>Cc Greg Ungerer <[email protected]>Signed-off-by Sam Ravnborg <[email protected]>So I took this, applied, and have been running some tests on m68knommu.
Quoted 7 lines
I had to make 2 small changes to make it work on 2.6.29-rc1. I had to add
swab.hinto the list of FILES, and move the seting of hdr-arch for m68knommu in the top levelMakefileto after the global hdr-arch setting (so all of about 3 lines later).Otherwise it builds and runs fine for m68knommu in all cases I have tested so far.
Thanks!
Quoted 4 lines
I have this applied as the only change at:
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git
m68k-merge-includes
Huh, is this git repository really ca. 200 MiB?
Quoted 6 lines
Sam Ravnborg (1):
m68k,m68knommu: merge header filesMore review, testing, comments welcome...
Where to from here?
I'll pull from it and give it some m68k test builds.
After that, you can move it to for-next. If everything's well, it can go to Linus.
Or should I amend and add my SoB and put it in m68k for-next?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Re: [PATCH] m68k,m68knommu: merge header files
Hi Geert,
Quoted 119 lines · Geert Uytterhoeven
Quoted 110 lines · Greg Ungerer
Quoted 99 lines · Sam Ravnborg
Quoted 1 line
From
5a8b9717a399679c4753e596ea864b02a1197025Mon Sep 17 00:00:00 2001From: Sam Ravnborg <[email protected]>
Date: Sat, 13 Dec 2008 21:23:08 +0100
Subject: [PATCH] m68k,m68knommu: merge header filesMerge header files for m68k and m68knommu to the single location:
arch/m68k/include/asmThe majority of this patch was the result of the
script that is included in the changelog below.The script was originally written by Arnd Bergman and exten by me to cover a few more files.
When the header files differed the script uses the following:
The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager]
The files uses the following include guard:
This include gaurd works as the m68knommu toolchain set the
__uClinux__symbol - so this should work in userspace too.Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them.
The commit has been build tested with both a m68k and a m68knommu toolchain - with success.
The commit has also been tested with "make
headers_check" and this patch fixes makeheaders_checkfor m68knommu.The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asmINCLUDE="cachectl.h
errno.hfcntl.hhwtest.hioctls.hipcbuf.h\linkage.hmath-emu.hmd.hmman.hmovs.hmsgbuf.hopenprom.h\oplib.hpoll.hposix_types.hresource.hrtc.hsembuf.hshmbuf.h\shm.hshmparam.hsocket.hsockios.hspinlock.hstatfs.hstat.h\termbits.htermios.htlb.htypes.huser.h"EQUAL="auxvec.h
cputime.hdevice.hemergency-restart.hfutex.h\ioctl.hirq_regs.hkdebug.hlocal.hmutex.hpercpu.h\sections.htopology.h"NOMUUFILES="anchor.h
bootstd.hcoldfire.hcommproc.hdbg.h\elia.hflat.hm5206sim.hm520xsim.hm523xsim.hm5249sim.h\m5272sim.hm527xsim.hm528xsim.hm5307sim.hm532xsim.h\m5407sim.hm68360_enet.hm68360.hm68360_pram.hm68360_quicc.h\m68360_regs.hMC68328.hMC68332.hMC68EZ328.hMC68VZ328.h\mcfcache.hmcfdma.hmcfmbus.hmcfne.hmcfpci.hmcfpit.h\mcfsim.hmcfsmc.hmcftimer.hmcfuart.hmcfwdebug.h\nettel.hquicc_simple.hsmp.h"FILES="atomic.h
bitops.hbootinfo.hbug.hbugs.hbyteorder.hcache.h\cacheflush.hchecksum.hcurrent.hdelay.hdiv64.h\dma-mapping.hdma.helf.hentry.hfb.hfpu.hhardirq.hhw_irq.hio.h\irq.hkmap_types.hmachdep.hmc146818rtc.hmmu.hmmu_context.h\module.hpage.hpage_offset.hparam.hpci.hpgalloc.h\pgtable.hprocessor.hptrace.hscatterlist.hsegment.h\setup.hsigcontext.hsiginfo.hsignal.hstring.hsystem.h\thread_info.htimex.htlbflush.htraps.huaccess.hucontext.h\unaligned.hunistd.h"mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.hcat << EOF > ${TARGET}/$1
EOFgit add ${TARGET}/$1 }set -e
mkdir -p ${TARGET}
git mv
include/asm-m68k/*${TARGET}
rmdirinclude/asm-m68kgit rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; dogit rm ${SOURCE}/$Fdone
for F in $NOMUUFILES; do
git mv ${SOURCE}/$F ${TARGET}/$Fdone
for F in $FILES ; do
mergefile $F
doneQuoted 7 lines
rmdir
arch/m68knommu/include/asm
rmdirarch/m68knommu/includeCc Arnd Bergmann <[email protected]>Cc Geert Uytterhoeven <[email protected]>Cc Greg Ungerer <[email protected]>Signed-off-by Sam Ravnborg <[email protected]>So I took this, applied, and have been running some tests on m68knommu.
Quoted 7 lines
I had to make 2 small changes to make it work on 2.6.29-rc1. I had to add
swab.hinto the list of FILES, and move the seting of hdr-arch for m68knommu in the top levelMakefileto after the global hdr-arch setting (so all of about 3 lines later).Otherwise it builds and runs fine for m68knommu in all cases I have tested so far.
Quoted 8 lines
Thanks!
Quoted 4 lines
I have this applied as the only change at:
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git
m68k-merge-includesHuh, is this git repository really ca. 200 MiB?
Hmm, seems kinda large. Maybe I didn't pack it properly?
Quoted 10 lines
Quoted 6 lines
Sam Ravnborg (1):
m68k,m68knommu: merge header filesMore review, testing, comments welcome...
Where to from here?I'll pull from it and give it some m68k test builds.
After that, you can move it to for-next. If everything's well, it can go to Linus.
Sounds like a plan.
Quoted 1 line
Or should I amend and add my SoB and put it in m68k for-next?
I am happy to go either way.
Regards
Greg
Quoted 11 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Signature · 12 lines
------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear, a McAfee Company PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
Re: [PATCH] m68k,m68knommu: merge header files
Quoted 8 lines
Quoted 7 lines
Quoted 3 lines
More review, testing, comments welcome...
Where to from here?I'll pull from it and give it some m68k test builds.
After that, you can move it to for-next. If everything's well, it can go to Linus.
Quoted 6 lines
Sounds like a plan.
Quoted 1 line
Or should I amend and add my SoB and put it in m68k for-next?
I am happy to go either way.
For my part I like this to reach mainline ASAP. So whatever suits the two of you is fine with me.
Sam
Re: [PATCH] m68k,m68knommu: merge header files
Quoted 10 lines · Sam Ravnborg
Quoted 10 lines
Quoted 6 lines
Quoted 2 lines
More review, testing, comments welcome...
Where to from here?I'll pull from it and give it some m68k test builds.
After that, you can move it to for-next. If everything's well, it can go to Linus.Sounds like a plan.
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Or should I amend and add my SoB and put it in m68k for-next?
I am happy to go either way.
For my part I like this to reach mainline ASAP. So whatever suits the two of you is fine with me.
I pulled from Greg's tree, and built atari_defconfig, multi_defconfig, sun3_defconfig. Atari_defconfig runs fine under ARAnyM.
As I'll be on a business trip to Japan next week, I probably won't be able to do a proper follow-up. So Greg, can you put it on your for-next branch and send it to Linus if everything goes well?
Thx!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Re: [PATCH] m68k,m68knommu: merge header files
Hi Geert,
Quoted 14 lines · Geert Uytterhoeven
Quoted 5 lines · Sam Ravnborg
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
More review, testing, comments welcome...
Where to from here?I'll pull from it and give it some m68k test builds.
After that, you can move it to for-next. If everything's well, it can go to Linus.Quoted 7 lines
Quoted 5 lines
Sounds like a plan.
Quoted 1 line
Or should I amend and add my SoB and put it in m68k for-next?
I am happy to go either way.
For my part I like this to reach mainline ASAP. So whatever suits the two of you is fine with me.
Quoted 8 lines
I pulled from Greg's tree, and built
atari_defconfig,multi_defconfig,sun3_defconfig.Atari_defconfigruns fine under ARAnyM.As I'll be on a business trip to Japan next week, I probably won't be able to do a proper follow-up. So Greg, can you put it on your for-next branch and send it to Linus if everything goes well?
Yep, I can take care of that.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear, a McAfee Company PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list [email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected] To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
Quoted 4 lines · Sam Ravnborg
[this mail is cross posted to uclinux mailing list which is subscriber only]
Following is a pseudo patch (a script + a patch) that merges the include files for m68k and m68knommu in one place at:
I fixed the missing files so we now export
a proper set of files to userspace (checked with a local fix to scripts/headers_check.pl).
I will followup with a patch generated by git.
So to apply it you must use git am.
Note: The patch simple move files around and create a few new files so even if you have updated a few files since I created the patch git will do the right-thing.
This patch unify the header files and as this thread has shown there are potential for additional unification.
I see this patch as a natural first step and then we can later address all the obvious unification tasks.
Please apply.
Sam