public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
       [not found] <20081208205814.GA22697@uranus.ravnborg.org>
@ 2008-12-08 22:53 ` Sam Ravnborg
  2008-12-08 23:01 ` Geert Uytterhoeven
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-08 22:53 UTC (permalink / raw)
  To: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev <uclinux-d>
  Cc: Arnd Bergmann, linux-kbuild

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
       [not found] <20081208205814.GA22697@uranus.ravnborg.org>
  2008-12-08 22:53 ` Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm Sam Ravnborg
@ 2008-12-08 23:01 ` Geert Uytterhoeven
  2008-12-08 23:26   ` Arnd Bergmann
  2008-12-09 16:54   ` Allon Stern
  2008-12-13 20:52 ` Sam Ravnborg
       [not found] ` <20081213205251.GC27748@uranus.ravnborg.org>
  3 siblings, 2 replies; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-08 23:01 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: linux-m68k, uclinux-dev, Arnd Bergmann, linux-kbuild,
	Roman Zippel, Greg Ungerer

On Mon, 8 Dec 2008, Sam Ravnborg wrote:
> 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...

> 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).

> 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 -- geert@linux-m68k.org

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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-08 23:01 ` Geert Uytterhoeven
@ 2008-12-08 23:26   ` Arnd Bergmann
  2008-12-09  5:45     ` Sam Ravnborg
  2008-12-13 20:43     ` Sam Ravnborg
  2008-12-09 16:54   ` Allon Stern
  1 sibling, 2 replies; 27+ messages in thread
From: Arnd Bergmann @ 2008-12-08 23:26 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Roman Zippel, linux-m68k, Greg Ungerer, uclinux-dev,
	linux-kbuild

On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > 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).
> 
> > 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 <><

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-08 23:26   ` Arnd Bergmann
@ 2008-12-09  5:45     ` Sam Ravnborg
  2008-12-09  8:24       ` Geert Uytterhoeven
  2008-12-11  8:33       ` Geert Uytterhoeven
  2008-12-13 20:43     ` Sam Ravnborg
  1 sibling, 2 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-09  5:45 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > 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).
> > 
> > > 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.

> 
> 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:

    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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09  5:45     ` Sam Ravnborg
@ 2008-12-09  8:24       ` Geert Uytterhoeven
  2008-12-09  9:45         ` Andreas Schwab
  2008-12-09 11:02         ` Arnd Bergmann
  2008-12-11  8:33       ` Geert Uytterhoeven
  1 sibling, 2 replies; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-09  8:24 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Arnd Bergmann, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Tue, 9 Dec 2008, Sam Ravnborg wrote:
> On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> > On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > > 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).
> > > 
> > > > 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!

Interesting, I'd expect unistd.h to be the same!

Ah, it's the restart_syscall:

--- include/asm-m68k/unistd.h	2008-10-18 10:34:15.000000000 +0200
+++ arch/m68knommu/include/asm/unistd.h	2008-10-12 14:08:01.000000000 +0200
@@ -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?

> 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.
> 
> > 
> > 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.
                 ^^^^
		 always and only
> 
> 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 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09  8:24       ` Geert Uytterhoeven
@ 2008-12-09  9:45         ` Andreas Schwab
  2008-12-09 11:02         ` Arnd Bergmann
  1 sibling, 0 replies; 27+ messages in thread
From: Andreas Schwab @ 2008-12-09  9:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Arnd Bergmann, Roman Zippel, linux-m68k,
	Greg Ungerer, uclinux-dev, linux-kbuild

Geert Uytterhoeven <geert@linux-m68k.org> writes:

> Ah, it's the restart_syscall:
>
> --- include/asm-m68k/unistd.h	2008-10-18 10:34:15.000000000 +0200
> +++ arch/m68knommu/include/asm/unistd.h	2008-10-12 14:08:01.000000000 +0200
> @@ -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?

The syscall restart handling is not yet implemented on m68k(nommu), so
there is no real difference.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09  8:24       ` Geert Uytterhoeven
  2008-12-09  9:45         ` Andreas Schwab
@ 2008-12-09 11:02         ` Arnd Bergmann
  2008-12-09 18:04           ` Sam Ravnborg
  1 sibling, 1 reply; 27+ messages in thread
From: Arnd Bergmann @ 2008-12-09 11:02 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Roman Zippel, linux-m68k, Greg Ungerer, uclinux-dev,
	linux-kbuild

On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> 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 <><

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-08 23:01 ` Geert Uytterhoeven
  2008-12-08 23:26   ` Arnd Bergmann
@ 2008-12-09 16:54   ` Allon Stern
  2008-12-09 17:39     ` [uClinux-dev] " Geert Uytterhoeven
  1 sibling, 1 reply; 27+ messages in thread
From: Allon Stern @ 2008-12-09 16:54 UTC (permalink / raw)
  To: uClinux development list
  Cc: linux-m68k, Arnd Bergmann, linux-kbuild, Roman Zippel,
	Greg Ungerer


On Dec 8, 2008, at 6:01 PM, Geert Uytterhoeven wrote:
>
> 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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [uClinux-dev] Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09 16:54   ` Allon Stern
@ 2008-12-09 17:39     ` Geert Uytterhoeven
  2008-12-11 15:44       ` Allon Stern
  0 siblings, 1 reply; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-09 17:39 UTC (permalink / raw)
  To: Allon Stern
  Cc: uClinux development list, Sam Ravnborg, linux-m68k, Arnd Bergmann,
	linux-kbuild, Roman Zippel, Greg Ungerer

On Tue, 9 Dec 2008, Allon Stern wrote:
> On Dec 8, 2008, at 6:01 PM, Geert Uytterhoeven wrote:
> > 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 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09 11:02         ` Arnd Bergmann
@ 2008-12-09 18:04           ` Sam Ravnborg
  0 siblings, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-09 18:04 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Tue, Dec 09, 2008 at 12:02:46PM +0100, Arnd Bergmann wrote:
> On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > 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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09  5:45     ` Sam Ravnborg
  2008-12-09  8:24       ` Geert Uytterhoeven
@ 2008-12-11  8:33       ` Geert Uytterhoeven
  2008-12-11  9:38         ` Andreas Schwab
                           ` (2 more replies)
  1 sibling, 3 replies; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-11  8:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Arnd Bergmann, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Tue, 9 Dec 2008, Sam Ravnborg wrote:
> On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> > On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > > 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).
> > > 
> > > > 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.
> 
> > 
> > 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:
> 
>     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 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11  8:33       ` Geert Uytterhoeven
@ 2008-12-11  9:38         ` Andreas Schwab
  2008-12-11 16:48           ` Arnd Bergmann
  2008-12-11 20:16         ` Geert Uytterhoeven
  2008-12-12  5:40         ` Greg Ungerer
  2 siblings, 1 reply; 27+ messages in thread
From: Andreas Schwab @ 2008-12-11  9:38 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Arnd Bergmann, Roman Zippel, linux-m68k,
	Greg Ungerer, uclinux-dev, linux-kbuild

Geert Uytterhoeven <geert@linux-m68k.org> writes:

> None of my m68k-linux compilers set __uClinux__, as expected.

IIUC, userspace ABI is supposed to be completely identical.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
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-m68k" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [uClinux-dev] Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-09 17:39     ` [uClinux-dev] " Geert Uytterhoeven
@ 2008-12-11 15:44       ` Allon Stern
  2008-12-12  5:22         ` Greg Ungerer
  0 siblings, 1 reply; 27+ messages in thread
From: Allon Stern @ 2008-12-11 15:44 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: uClinux development list, Sam Ravnborg, linux-m68k, Arnd Bergmann,
	linux-kbuild, Roman Zippel, Greg Ungerer


On Dec 9, 2008, at 12:39 PM, Geert Uytterhoeven wrote:
> 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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11  9:38         ` Andreas Schwab
@ 2008-12-11 16:48           ` Arnd Bergmann
  0 siblings, 0 replies; 27+ messages in thread
From: Arnd Bergmann @ 2008-12-11 16:48 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Geert Uytterhoeven, Sam Ravnborg, Roman Zippel, linux-m68k,
	Greg Ungerer, uclinux-dev, linux-kbuild

On Thursday 11 December 2008, Andreas Schwab wrote:
> Geert Uytterhoeven <geert@linux-m68k.org> writes:
> 
> > 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 <><

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11  8:33       ` Geert Uytterhoeven
  2008-12-11  9:38         ` Andreas Schwab
@ 2008-12-11 20:16         ` Geert Uytterhoeven
  2008-12-13 16:16           ` Arnd Bergmann
  2008-12-12  5:40         ` Greg Ungerer
  2 siblings, 1 reply; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-11 20:16 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Arnd Bergmann, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Thu, 11 Dec 2008, Geert Uytterhoeven wrote:
> On Tue, 9 Dec 2008, Sam Ravnborg wrote:
> > On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> > > On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > > > 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).
> > > > 
> > > > > 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.
> > 
> > > 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:
> > 
> >     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 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11 15:44       ` Allon Stern
@ 2008-12-12  5:22         ` Greg Ungerer
  0 siblings, 0 replies; 27+ messages in thread
From: Greg Ungerer @ 2008-12-12  5:22 UTC (permalink / raw)
  To: Allon Stern
  Cc: linux-m68k, uClinux development list, Arnd Bergmann, linux-kbuild,
	Roman Zippel


Allon Stern wrote:
> On Dec 9, 2008, at 12:39 PM, Geert Uytterhoeven wrote:
>> 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:     gerg@snapgear.com
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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11  8:33       ` Geert Uytterhoeven
  2008-12-11  9:38         ` Andreas Schwab
  2008-12-11 20:16         ` Geert Uytterhoeven
@ 2008-12-12  5:40         ` Greg Ungerer
  2008-12-13 20:46           ` Sam Ravnborg
  2 siblings, 1 reply; 27+ messages in thread
From: Greg Ungerer @ 2008-12-12  5:40 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Arnd Bergmann, Roman Zippel, linux-m68k,
	Greg Ungerer, uclinux-dev, linux-kbuild


Geert Uytterhoeven wrote:
> On Tue, 9 Dec 2008, Sam Ravnborg wrote:
>> On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
>>> On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
>>>>> 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).
>>>>
>>>>> 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.
>>
>>> 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:
>>
>>     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:     gerg@snapgear.com
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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-11 20:16         ` Geert Uytterhoeven
@ 2008-12-13 16:16           ` Arnd Bergmann
  0 siblings, 0 replies; 27+ messages in thread
From: Arnd Bergmann @ 2008-12-13 16:16 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Sam Ravnborg, Roman Zippel, linux-m68k, Greg Ungerer, uclinux-dev,
	linux-kbuild

On Thursday 11 December 2008, Geert Uytterhoeven wrote:
> 
> > 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 <><

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-08 23:26   ` Arnd Bergmann
  2008-12-09  5:45     ` Sam Ravnborg
@ 2008-12-13 20:43     ` Sam Ravnborg
  1 sibling, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-13 20:43 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, linux-kbuild

On Tue, Dec 09, 2008 at 12:26:05AM +0100, Arnd Bergmann wrote:
> On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > > 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).
> > 
> > > 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

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
  2008-12-12  5:40         ` Greg Ungerer
@ 2008-12-13 20:46           ` Sam Ravnborg
  0 siblings, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-13 20:46 UTC (permalink / raw)
  To: Greg Ungerer
  Cc: Geert Uytterhoeven, Arnd Bergmann, Roman Zippel, linux-m68k,
	Greg Ungerer, uclinux-dev, linux-kbuild

> >>
> >>>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:
> >>
> >>    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.

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm
       [not found] <20081208205814.GA22697@uranus.ravnborg.org>
  2008-12-08 22:53 ` Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm Sam Ravnborg
  2008-12-08 23:01 ` Geert Uytterhoeven
@ 2008-12-13 20:52 ` Sam Ravnborg
       [not found] ` <20081213205251.GC27748@uranus.ravnborg.org>
  3 siblings, 0 replies; 27+ messages in thread
From: Sam Ravnborg @ 2008-12-13 20:52 UTC (permalink / raw)
  To: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev <uclinux-d>
  Cc: Arnd Bergmann, linux-kbuild

On Mon, Dec 08, 2008 at 09:58:14PM +0100, Sam Ravnborg wrote:
> [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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
       [not found]   ` <20081213205828.GD27748@uranus.ravnborg.org>
@ 2008-12-14 16:13     ` Geert Uytterhoeven
       [not found]     ` <49707AE0.1040803@opengear.com>
  1 sibling, 0 replies; 27+ messages in thread
From: Geert Uytterhoeven @ 2008-12-14 16:13 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Roman Zippel, linux-m68k, Greg Ungerer, uclinux-dev,
	Arnd Bergmann, linux-kbuild

On Sat, 13 Dec 2008, Sam Ravnborg wrote:
> >From 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> 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
                                            ^^^^^^^
					    Bergmann
> exten by me to cover a few more files.
  ^^^^^
  extended

> 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
> 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 \
  ^^^^^^^^^^
  NOMMUFILES (as the same typo is present in the other parts of the script
              it still worked ;-)

> 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
> 
> rmdir arch/m68knommu/include/asm
> rmdir arch/m68knommu/include
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Greg Ungerer <gerg@uclinux.org>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

m68k-bits are
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Thanks a lot, Arnd, Sam!

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
       [not found]     ` <49707AE0.1040803@opengear.com>
@ 2009-01-16 12:57       ` Geert Uytterhoeven
  2009-01-16 14:21         ` Greg Ungerer
  0 siblings, 1 reply; 27+ messages in thread
From: Geert Uytterhoeven @ 2009-01-16 12:57 UTC (permalink / raw)
  To: Greg Ungerer
  Cc: linux-m68k, uclinux-dev, Arnd Bergmann, linux-kbuild,
	Roman Zippel, Greg Ungerer

On Fri, 16 Jan 2009, Greg Ungerer wrote:
> Sam Ravnborg wrote:
> > > From 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001
> > From: Sam Ravnborg <sam@ravnborg.org>
> > 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
> > 
> > rmdir arch/m68knommu/include/asm
> > rmdir arch/m68knommu/include
> > 
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> > Cc: Greg Ungerer <gerg@uclinux.org>
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> 
> So I took this, applied, and have been running some tests
> on m68knommu.
> 
> 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!

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

> 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 -- geert@linux-m68k.org

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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
  2009-01-16 12:57       ` Geert Uytterhoeven
@ 2009-01-16 14:21         ` Greg Ungerer
  2009-01-16 14:34           ` Sam Ravnborg
  0 siblings, 1 reply; 27+ messages in thread
From: Greg Ungerer @ 2009-01-16 14:21 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-m68k, uclinux-dev, Arnd Bergmann, linux-kbuild,
	Roman Zippel, Greg Ungerer


Hi Geert,

Geert Uytterhoeven wrote:
> On Fri, 16 Jan 2009, Greg Ungerer wrote:
>> Sam Ravnborg wrote:
>>>> From 5a8b9717a399679c4753e596ea864b02a1197025 Mon Sep 17 00:00:00 2001
>>> From: Sam Ravnborg <sam@ravnborg.org>
>>> 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
>>>
>>> rmdir arch/m68knommu/include/asm
>>> rmdir arch/m68knommu/include
>>>
>>> Cc: Arnd Bergmann <arnd@arndb.de>
>>> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>>> Cc: Greg Ungerer <gerg@uclinux.org>
>>> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
>> So I took this, applied, and have been running some tests
>> on m68knommu.
>>
>> 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!
> 
>> 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?


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


> Or should I amend and add my SoB and put it in m68k for-next?

I am happy to go either way.

Regards
Greg



> Gr{oetje,eeting}s,
> 
> 						Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> 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
> 


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
  2009-01-16 14:21         ` Greg Ungerer
@ 2009-01-16 14:34           ` Sam Ravnborg
  2009-01-16 21:53             ` Geert Uytterhoeven
  0 siblings, 1 reply; 27+ messages in thread
From: Sam Ravnborg @ 2009-01-16 14:34 UTC (permalink / raw)
  To: Greg Ungerer
  Cc: Geert Uytterhoeven, Roman Zippel, linux-m68k, Greg Ungerer,
	uclinux-dev, Arnd Bergmann, linux-kbuild

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
  2009-01-16 14:34           ` Sam Ravnborg
@ 2009-01-16 21:53             ` Geert Uytterhoeven
  2009-01-16 22:19               ` Greg Ungerer
  0 siblings, 1 reply; 27+ messages in thread
From: Geert Uytterhoeven @ 2009-01-16 21:53 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Greg Ungerer, Roman Zippel, linux-m68k, Greg Ungerer, uclinux-dev,
	Arnd Bergmann, linux-kbuild

On Fri, 16 Jan 2009, Sam Ravnborg wrote:
> > >>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.
> > 
> > 
> > >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?

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Thx!

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH] m68k,m68knommu: merge header files
  2009-01-16 21:53             ` Geert Uytterhoeven
@ 2009-01-16 22:19               ` Greg Ungerer
  0 siblings, 0 replies; 27+ messages in thread
From: Greg Ungerer @ 2009-01-16 22:19 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-m68k, uclinux-dev, Arnd Bergmann, linux-kbuild,
	Roman Zippel, Greg Ungerer


Hi Geert,

Geert Uytterhoeven wrote:
> On Fri, 16 Jan 2009, Sam Ravnborg wrote:
>>>>> 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.
>>>
>>>
>>>> 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?
> 
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Yep, I can take care of that.

Regards
Greg


------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
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
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2009-01-16 22:19 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20081208205814.GA22697@uranus.ravnborg.org>
2008-12-08 22:53 ` Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm Sam Ravnborg
2008-12-08 23:01 ` Geert Uytterhoeven
2008-12-08 23:26   ` Arnd Bergmann
2008-12-09  5:45     ` Sam Ravnborg
2008-12-09  8:24       ` Geert Uytterhoeven
2008-12-09  9:45         ` Andreas Schwab
2008-12-09 11:02         ` Arnd Bergmann
2008-12-09 18:04           ` Sam Ravnborg
2008-12-11  8:33       ` Geert Uytterhoeven
2008-12-11  9:38         ` Andreas Schwab
2008-12-11 16:48           ` Arnd Bergmann
2008-12-11 20:16         ` Geert Uytterhoeven
2008-12-13 16:16           ` Arnd Bergmann
2008-12-12  5:40         ` Greg Ungerer
2008-12-13 20:46           ` Sam Ravnborg
2008-12-13 20:43     ` Sam Ravnborg
2008-12-09 16:54   ` Allon Stern
2008-12-09 17:39     ` [uClinux-dev] " Geert Uytterhoeven
2008-12-11 15:44       ` Allon Stern
2008-12-12  5:22         ` Greg Ungerer
2008-12-13 20:52 ` Sam Ravnborg
     [not found] ` <20081213205251.GC27748@uranus.ravnborg.org>
     [not found]   ` <20081213205828.GD27748@uranus.ravnborg.org>
2008-12-14 16:13     ` [PATCH] m68k,m68knommu: merge header files Geert Uytterhoeven
     [not found]     ` <49707AE0.1040803@opengear.com>
2009-01-16 12:57       ` Geert Uytterhoeven
2009-01-16 14:21         ` Greg Ungerer
2009-01-16 14:34           ` Sam Ravnborg
2009-01-16 21:53             ` Geert Uytterhoeven
2009-01-16 22:19               ` Greg Ungerer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox