Skip to contentSkip to conversation

Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm

PATCH Sam Ravnborg 6 participants 29 messages Dec 8, 2008 – Jan 16, 2009 2 messages not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

[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.h

cat << 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}/$F

done

# Files that are unique for m68knommu can be moved for F in $NOMUUFILES; do

	git mv ${SOURCE}/$F ${TARGET}/$F

done

# 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
index 9a49960..fa5a33d 100644
@@ -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
index a13f3cc..9abbc03 100644
@@ -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
index fb86bb2..45d286c 100644
@@ -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
#1 lore raw
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 a CONFIG_ 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

#2 lore raw
In reply to Sam Ravnborg
Quoted 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/asm

The 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"
#endif

gcc -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 a CONFIG_ 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

#3 lore raw
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"
#endif

gcc -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 a CONFIG_ 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 <><
#4 lore raw
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"
#endif

gcc -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 a CONFIG_ 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

#5 lore raw
Quoted 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"
#endif

gcc -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 a CONFIG_ 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_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
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 -dM

to 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

#6 lore raw
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
#7 lore raw
In reply to Geert Uytterhoeven
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 <><
#8 lore raw
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.h and unistd.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

#9 lore raw
In reply to Sam Ravnborg
Quoted 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"
#endif

gcc -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 a CONFIG_ 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.

Quoted 6 lines

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.

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

#10 lore raw
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."
#11 lore raw
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 <><
#12 lore raw
In reply to Geert Uytterhoeven
Quoted 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"
#endif

gcc -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 a CONFIG_ 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 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
#endif

Can 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 -dM

to 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

#13 lore raw
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.pl based on CONFIG_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 <><
#14 lore raw
In reply to Geert Uytterhoeven
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"
#endif

gcc -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 a CONFIG_ 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_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 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
#endif

Can 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 -dM

to 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
#15 lore raw
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
#endif

Can 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 -dM

to 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

#16 lore raw
In reply to Arnd Bergmann
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"
#endif

gcc -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 a CONFIG_ 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

#17 lore raw
In reply to Geert Uytterhoeven
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

#18 lore raw
Quoted 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

#19 lore raw
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

#20 lore raw
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

#21 lore raw
In reply to Sam Ravnborg
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]

maintainer Acked-by
#23 lore raw

Re: [PATCH] m68k,m68knommu: merge header files

Quoted 5 lines · Sam Ravnborg
Quoted 1 line

From 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001

From: 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/asm

The 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 make headers_check for m68knommu.

The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asm

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"

Quoted 5 lines

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"

NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \

^^^^^^^^^^
NOMMUFILES (as the same typo is present in the other parts of the script
it still worked ;-)

Quoted 49 lines

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="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.h

cat << EOF > ${TARGET}/$1
EOF

	git add ${TARGET}/$1
}

set -e

mkdir -p ${TARGET}

git mv include/asm-m68k/* ${TARGET}
rmdir include/asm-m68k

git rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; do

	git rm ${SOURCE}/$F

done

for F in $NOMUUFILES; do

	git mv ${SOURCE}/$F ${TARGET}/$F

done

for F in $FILES ; do
mergefile $F
done

Quoted 7 lines

rmdir arch/m68knommu/include/asm
rmdir arch/m68knommu/include

Cc Arnd Bergmann <[email protected]>
Cc Geert Uytterhoeven <[email protected]>
Cc Greg Ungerer <[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]

#25 lore raw

Re: [PATCH] m68k,m68knommu: merge header files

Quoted 111 lines · Greg Ungerer
Quoted 99 lines · Sam Ravnborg
Quoted 1 line

From 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Sat, 13 Dec 2008 21:23:08 +0100
Subject: [PATCH] m68k,m68knommu: merge header files

Merge header files for m68k and m68knommu to the single location:

arch/m68k/include/asm

The 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 make headers_check for m68knommu.

The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asm

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"

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"

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="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.h

cat << EOF > ${TARGET}/$1
EOF

	git add ${TARGET}/$1
}

set -e

mkdir -p ${TARGET}

git mv include/asm-m68k/* ${TARGET}
rmdir include/asm-m68k

git rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; do

	git rm ${SOURCE}/$F

done

for F in $NOMUUFILES; do

	git mv ${SOURCE}/$F ${TARGET}/$F

done

for F in $FILES ; do
mergefile $F
done

Quoted 7 lines

rmdir arch/m68knommu/include/asm
rmdir arch/m68knommu/include

Cc Arnd Bergmann <[email protected]>
Cc Geert Uytterhoeven <[email protected]>
Cc Greg Ungerer <[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.h into the list of FILES, and move the seting of hdr-arch for m68knommu in the top level Makefile to 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 files

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.

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

#26 lore raw

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 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Sat, 13 Dec 2008 21:23:08 +0100
Subject: [PATCH] m68k,m68knommu: merge header files

Merge header files for m68k and m68knommu to the single location:

arch/m68k/include/asm

The 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 make headers_check for m68knommu.

The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asm

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"

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"

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="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.h

cat << EOF > ${TARGET}/$1
EOF

	git add ${TARGET}/$1
}

set -e

mkdir -p ${TARGET}

git mv include/asm-m68k/* ${TARGET}
rmdir include/asm-m68k

git rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; do

	git rm ${SOURCE}/$F

done

for F in $NOMUUFILES; do

	git mv ${SOURCE}/$F ${TARGET}/$F

done

for F in $FILES ; do
mergefile $F
done

Quoted 7 lines

rmdir arch/m68knommu/include/asm
rmdir arch/m68knommu/include

Cc Arnd Bergmann <[email protected]>
Cc Geert Uytterhoeven <[email protected]>
Cc Greg Ungerer <[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.h into the list of FILES, and move the seting of hdr-arch for m68knommu in the top level Makefile to 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-includes

Huh, 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 files

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 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
#27 lore raw

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

maintainer Acked-by
#28 lore raw

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

#29 lore raw

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_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?

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

#30 lore raw
In reply to Sam Ravnborg
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