linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Beginning Merger Patch
@ 2005-08-02 22:59 Jon Loeliger
  2005-08-02 23:05 ` Eugene Surovegin
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Jon Loeliger @ 2005-08-02 22:59 UTC (permalink / raw)
  To: linuxppc-dev@ozlabs.org, linuxppc64-dev

Folks,

I have grabbed my asbestos suit.

Here is a patch to begin the process of merging
the PPC32 and PPC64 include directories into a
new common "powerpc" arch.

This patch introduces the include/asm-powerpc directory.
It then places into it, all of the files in asm-ppc and
asm-ppc64 that are essentially identical.  A stub is left
in asm-ppc and asm-ppc64 pointing to the unified files.
No real thought went into this set of files; these are
the dead-simple identical files for starters!

This patch can be rsync'ed from here:

    rsync www.jdl.com::pub/software/patches/linux-20050802-01.patch 20050802-01.patch

It may be cg-pull'ed from this tree:

    cg-clone http://www.jdl.com/pub/software/linux-2.6-jdl.git
or
    cg-clone rsync://www.jdl.com/pub/software/linux-2.6-jdl.git

Oh yeah.

jdl


Signed-off-by: Jon Loeliger <jdl@freescale.com>



---
commit 2c6a0ac49cb3ec2b73fc48b015aa3550e2df27c7
tree f12b4db25885fb67cacf1597daf2a789140c974d
parent 9a351e30d72d409ec62c83f380e330e0baa584b4
author Jon Loeliger <jdl@freescale.com> Tue, 02 Aug 2005 14:27:26 -0500
committer Jon Loeliger <jdl@freescale.com> Tue, 02 Aug 2005 14:27:26 -0500

 include/asm-powerpc/8253pit.h           |   10 +++++++++
 include/asm-powerpc/agp.h               |   23 +++++++++++++++++++++
 include/asm-powerpc/cputime.h           |    1 +
 include/asm-powerpc/emergency-restart.h |    1 +
 include/asm-powerpc/errno.h             |   18 ++++++++++++++++
 include/asm-powerpc/hdreg.h             |    1 +
 include/asm-powerpc/ipc.h               |    1 +
 include/asm-powerpc/linkage.h           |    6 +++++
 include/asm-powerpc/local.h             |    1 +
 include/asm-powerpc/parport.h           |   18 ++++++++++++++++
 include/asm-powerpc/percpu.h            |    1 +
 include/asm-powerpc/poll.h              |   32 +++++++++++++++++++++++++++++
 include/asm-powerpc/resource.h          |    1 +
 include/asm-powerpc/shmparam.h          |   13 ++++++++++++
 include/asm-powerpc/xor.h               |    1 +
 include/asm-ppc/8253pit.h               |   12 ++---------
 include/asm-ppc/agp.h                   |   25 ++---------------------
 include/asm-ppc/cputime.h               |    5 -----
 include/asm-ppc/emergency-restart.h     |    5 -----
 include/asm-ppc/errno.h                 |   13 ++----------
 include/asm-ppc/linkage.h               |    8 ++-----
 include/asm-ppc/local.h                 |    5 -----
 include/asm-ppc/parport.h               |   19 +----------------
 include/asm-ppc/percpu.h                |    5 -----
 include/asm-ppc/poll.h                  |   25 ++---------------------
 include/asm-ppc/resource.h              |    5 -----
 include/asm-ppc/shmparam.h              |    7 ++----
 include/asm-ppc64/8253pit.h             |   12 ++---------
 include/asm-ppc64/agp.h                 |   25 ++---------------------
 include/asm-ppc64/cputime.h             |    5 -----
 include/asm-ppc64/emergency-restart.h   |    5 -----
 include/asm-ppc64/errno.h               |   20 ++----------------
 include/asm-ppc64/linkage.h             |    8 ++-----
 include/asm-ppc64/parport.h             |   19 +----------------
 include/asm-ppc64/percpu.h              |    5 -----
 include/asm-ppc64/poll.h                |   34 ++-----------------------------
 include/asm-ppc64/resource.h            |    5 -----
 include/asm-ppc64/shmparam.h            |   15 ++------------
 38 files changed, 154 insertions(+), 261 deletions(-)

diff --git a/include/asm-powerpc/8253pit.h b/include/asm-powerpc/8253pit.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/8253pit.h
@@ -0,0 +1,10 @@
+/*
+ * 8253/8254 Programmable Interval Timer
+ */
+
+#ifndef _ASM_POWERPC_8253PIT_H
+#define _ASM_POWERPC_8253PIT_H
+
+#define PIT_TICK_RATE 	1193182UL
+
+#endif	/* _ASM_POWERPC_8253PIT_H */
diff --git a/include/asm-powerpc/agp.h b/include/asm-powerpc/agp.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/agp.h
@@ -0,0 +1,23 @@
+#ifndef _ASM_POWERPC_AGP_H
+#define _ASM_POWERPC_AGP_H
+
+#include <asm/io.h>
+
+/* nothing much needed here */
+
+#define map_page_into_agp(page)
+#define unmap_page_from_agp(page)
+#define flush_agp_mappings()
+#define flush_agp_cache() mb()
+
+/* Convert a physical address to an address suitable for the GART. */
+#define phys_to_gart(x) (x)
+#define gart_to_phys(x) (x)
+
+/* GATT allocation. Returns/accepts GATT kernel virtual address. */
+#define alloc_gatt_pages(order)		\
+	((char *)__get_free_pages(GFP_KERNEL, (order)))
+#define free_gatt_pages(table, order)	\
+	free_pages((unsigned long)(table), (order))
+
+#endif	/* _ASM_POWERPC_AGP_H */
diff --git a/include/asm-powerpc/cputime.h b/include/asm-powerpc/cputime.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/cputime.h
@@ -0,0 +1 @@
+#include <asm-generic/cputime.h>
diff --git a/include/asm-powerpc/emergency-restart.h b/include/asm-powerpc/emergency-restart.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/emergency-restart.h
@@ -0,0 +1 @@
+#include <asm-generic/emergency-restart.h>
diff --git a/include/asm-powerpc/errno.h b/include/asm-powerpc/errno.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/errno.h
@@ -0,0 +1,18 @@
+/* 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _ASM_POWERPC_ERRNO_H
+#define _ASM_POWERPC_ERRNO_H
+
+#include <asm-generic/errno.h>
+
+#undef	EDEADLOCK
+#define	EDEADLOCK	58	/* File locking deadlock error */
+
+#define _LAST_ERRNO	516
+
+#endif	/* _ASM_POWERPC_ERRNO_H */
diff --git a/include/asm-powerpc/hdreg.h b/include/asm-powerpc/hdreg.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/hdreg.h
@@ -0,0 +1 @@
+#include <asm-generic/hdreg.h>
diff --git a/include/asm-powerpc/ipc.h b/include/asm-powerpc/ipc.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/ipc.h
@@ -0,0 +1 @@
+#include <asm-generic/ipc.h>
diff --git a/include/asm-powerpc/linkage.h b/include/asm-powerpc/linkage.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/linkage.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_POWERPC_LINKAGE_H
+#define _ASM_POWERPC_LINKAGE_H
+
+/* Nothing to see here... */
+
+#endif	/* _ASM_POWERPC_LINKAGE_H */
diff --git a/include/asm-powerpc/local.h b/include/asm-powerpc/local.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/local.h
@@ -0,0 +1 @@
+#include <asm-generic/local.h>
diff --git a/include/asm-powerpc/parport.h b/include/asm-powerpc/parport.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/parport.h
@@ -0,0 +1,18 @@
+/*
+ * parport.h: platform-specific PC-style parport initialisation
+ *
+ * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
+ *
+ * This file should only be included by drivers/parport/parport_pc.c.
+ */
+
+#ifndef _ASM_POWERPC_PARPORT_H
+#define _ASM_POWERPC_PARPORT_H
+
+static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
+static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
+{
+	return parport_pc_find_isa_ports (autoirq, autodma);
+}
+
+#endif	/* _ASM_POWERPC_PARPORT_H */
diff --git a/include/asm-powerpc/percpu.h b/include/asm-powerpc/percpu.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/percpu.h
@@ -0,0 +1 @@
+#include <asm-generic/percpu.h>
diff --git a/include/asm-powerpc/poll.h b/include/asm-powerpc/poll.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/poll.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2001 PPC64 Team, IBM Corp
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _ASM_POWERPC_POLL_H
+#define _ASM_POWERPC_POLL_H
+
+#define POLLIN		0x0001
+#define POLLPRI		0x0002
+#define POLLOUT		0x0004
+#define POLLERR		0x0008
+#define POLLHUP		0x0010
+#define POLLNVAL	0x0020
+#define POLLRDNORM	0x0040
+#define POLLRDBAND	0x0080
+#define POLLWRNORM	0x0100
+#define POLLWRBAND	0x0200
+#define POLLMSG		0x0400
+#define POLLREMOVE	0x1000
+
+struct pollfd {
+	int fd;
+	short events;
+	short revents;
+};
+
+#endif	/* _ASM_POWERPC_POLL_H */
diff --git a/include/asm-powerpc/resource.h b/include/asm-powerpc/resource.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/resource.h
@@ -0,0 +1 @@
+#include <asm-generic/resource.h>
diff --git a/include/asm-powerpc/shmparam.h b/include/asm-powerpc/shmparam.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/shmparam.h
@@ -0,0 +1,13 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _ASM_POWERPC_SHMPARAM_H
+#define _ASM_POWERPC_SHMPARAM_H
+
+#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
+
+#endif	/* _ASM_POWERPC_SHMPARAM_H */
diff --git a/include/asm-powerpc/xor.h b/include/asm-powerpc/xor.h
new file mode 100644
--- /dev/null
+++ b/include/asm-powerpc/xor.h
@@ -0,0 +1 @@
+#include <asm-generic/xor.h>
diff --git a/include/asm-ppc/8253pit.h b/include/asm-ppc/8253pit.h
--- a/include/asm-ppc/8253pit.h
+++ b/include/asm-ppc/8253pit.h
@@ -1,10 +1,2 @@
-/*
- * 8253/8254 Programmable Interval Timer
- */
-
-#ifndef _8253PIT_H
-#define _8253PIT_H
-
-#define PIT_TICK_RATE 	1193182UL
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/8253pit.h>
diff --git a/include/asm-ppc/agp.h b/include/asm-ppc/agp.h
--- a/include/asm-ppc/agp.h
+++ b/include/asm-ppc/agp.h
@@ -1,23 +1,2 @@
-#ifndef AGP_H
-#define AGP_H 1
-
-#include <asm/io.h>
-
-/* nothing much needed here */
-
-#define map_page_into_agp(page)
-#define unmap_page_from_agp(page)
-#define flush_agp_mappings()
-#define flush_agp_cache() mb()
-
-/* Convert a physical address to an address suitable for the GART. */
-#define phys_to_gart(x) (x)
-#define gart_to_phys(x) (x)
-
-/* GATT allocation. Returns/accepts GATT kernel virtual address. */
-#define alloc_gatt_pages(order)		\
-	((char *)__get_free_pages(GFP_KERNEL, (order)))
-#define free_gatt_pages(table, order)	\
-	free_pages((unsigned long)(table), (order))
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/agp.h>
diff --git a/include/asm-ppc/cputime.h b/include/asm-ppc/cputime.h
--- a/include/asm-ppc/cputime.h
+++ b/include/asm-ppc/cputime.h
@@ -1,6 +1 @@
-#ifndef __PPC_CPUTIME_H
-#define __PPC_CPUTIME_H
-
 #include <asm-generic/cputime.h>
-
-#endif /* __PPC_CPUTIME_H */
diff --git a/include/asm-ppc/emergency-restart.h b/include/asm-ppc/emergency-restart.h
--- a/include/asm-ppc/emergency-restart.h
+++ b/include/asm-ppc/emergency-restart.h
@@ -1,6 +1 @@
-#ifndef _ASM_EMERGENCY_RESTART_H
-#define _ASM_EMERGENCY_RESTART_H
-
 #include <asm-generic/emergency-restart.h>
-
-#endif /* _ASM_EMERGENCY_RESTART_H */
diff --git a/include/asm-ppc/errno.h b/include/asm-ppc/errno.h
--- a/include/asm-ppc/errno.h
+++ b/include/asm-ppc/errno.h
@@ -1,11 +1,2 @@
-#ifndef _PPC_ERRNO_H
-#define _PPC_ERRNO_H
-
-#include <asm-generic/errno.h>
-
-#undef	EDEADLOCK
-#define	EDEADLOCK	58	/* File locking deadlock error */
-
-#define _LAST_ERRNO	516
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/errno.h>
diff --git a/include/asm-ppc/linkage.h b/include/asm-ppc/linkage.h
--- a/include/asm-ppc/linkage.h
+++ b/include/asm-ppc/linkage.h
@@ -1,6 +1,2 @@
-#ifndef __ASM_LINKAGE_H
-#define __ASM_LINKAGE_H
-
-/* Nothing to see here... */
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/linkage.h>
diff --git a/include/asm-ppc/local.h b/include/asm-ppc/local.h
--- a/include/asm-ppc/local.h
+++ b/include/asm-ppc/local.h
@@ -1,6 +1 @@
-#ifndef __PPC_LOCAL_H
-#define __PPC_LOCAL_H
-
 #include <asm-generic/local.h>
-
-#endif /* __PPC_LOCAL_H */
diff --git a/include/asm-ppc/parport.h b/include/asm-ppc/parport.h
--- a/include/asm-ppc/parport.h
+++ b/include/asm-ppc/parport.h
@@ -1,18 +1 @@
-/*
- * parport.h: platform-specific PC-style parport initialisation
- *
- * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * This file should only be included by drivers/parport/parport_pc.c.
- */
-
-#ifndef _ASM_PPC_PARPORT_H
-#define _ASM_PPC_PARPORT_H
-
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
-static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
-{
-	return parport_pc_find_isa_ports (autoirq, autodma);
-}
-
-#endif /* !(_ASM_PPC_PARPORT_H) */
+#include <asm-powerpc/parport.h>
diff --git a/include/asm-ppc/percpu.h b/include/asm-ppc/percpu.h
--- a/include/asm-ppc/percpu.h
+++ b/include/asm-ppc/percpu.h
@@ -1,6 +1 @@
-#ifndef __ARCH_PPC_PERCPU__
-#define __ARCH_PPC_PERCPU__
-
 #include <asm-generic/percpu.h>
-
-#endif /* __ARCH_PPC_PERCPU__ */
diff --git a/include/asm-ppc/poll.h b/include/asm-ppc/poll.h
--- a/include/asm-ppc/poll.h
+++ b/include/asm-ppc/poll.h
@@ -1,23 +1,2 @@
-#ifndef __PPC_POLL_H
-#define __PPC_POLL_H
-
-#define POLLIN		0x0001
-#define POLLPRI		0x0002
-#define POLLOUT		0x0004
-#define POLLERR		0x0008
-#define POLLHUP		0x0010
-#define POLLNVAL	0x0020
-#define POLLRDNORM	0x0040
-#define POLLRDBAND	0x0080
-#define POLLWRNORM	0x0100
-#define POLLWRBAND	0x0200
-#define POLLMSG		0x0400
-#define POLLREMOVE	0x1000
-
-struct pollfd {
-	int fd;
-	short events;
-	short revents;
-};
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/poll.h>
diff --git a/include/asm-ppc/resource.h b/include/asm-ppc/resource.h
--- a/include/asm-ppc/resource.h
+++ b/include/asm-ppc/resource.h
@@ -1,6 +1 @@
-#ifndef _PPC_RESOURCE_H
-#define _PPC_RESOURCE_H
-
 #include <asm-generic/resource.h>
-
-#endif
diff --git a/include/asm-ppc/shmparam.h b/include/asm-ppc/shmparam.h
--- a/include/asm-ppc/shmparam.h
+++ b/include/asm-ppc/shmparam.h
@@ -1,6 +1,3 @@
-#ifndef _PPC_SHMPARAM_H
-#define _PPC_SHMPARAM_H
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/shmparam.h>
 
-#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
-
-#endif /* _PPC_SHMPARAM_H */
diff --git a/include/asm-ppc64/8253pit.h b/include/asm-ppc64/8253pit.h
--- a/include/asm-ppc64/8253pit.h
+++ b/include/asm-ppc64/8253pit.h
@@ -1,10 +1,2 @@
-/*
- * 8253/8254 Programmable Interval Timer
- */
-
-#ifndef _8253PIT_H
-#define _8253PIT_H
-
-#define PIT_TICK_RATE 	1193182UL
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/8253pit.h>
diff --git a/include/asm-ppc64/agp.h b/include/asm-ppc64/agp.h
--- a/include/asm-ppc64/agp.h
+++ b/include/asm-ppc64/agp.h
@@ -1,23 +1,2 @@
-#ifndef AGP_H
-#define AGP_H 1
-
-#include <asm/io.h>
-
-/* nothing much needed here */
-
-#define map_page_into_agp(page)
-#define unmap_page_from_agp(page)
-#define flush_agp_mappings()
-#define flush_agp_cache() mb()
-
-/* Convert a physical address to an address suitable for the GART. */
-#define phys_to_gart(x) (x)
-#define gart_to_phys(x) (x)
-
-/* GATT allocation. Returns/accepts GATT kernel virtual address. */
-#define alloc_gatt_pages(order)		\
-	((char *)__get_free_pages(GFP_KERNEL, (order)))
-#define free_gatt_pages(table, order)	\
-	free_pages((unsigned long)(table), (order))
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/agp.h>
diff --git a/include/asm-ppc64/cputime.h b/include/asm-ppc64/cputime.h
--- a/include/asm-ppc64/cputime.h
+++ b/include/asm-ppc64/cputime.h
@@ -1,6 +1 @@
-#ifndef __PPC_CPUTIME_H
-#define __PPC_CPUTIME_H
-
 #include <asm-generic/cputime.h>
-
-#endif /* __PPC_CPUTIME_H */
diff --git a/include/asm-ppc64/emergency-restart.h b/include/asm-ppc64/emergency-restart.h
--- a/include/asm-ppc64/emergency-restart.h
+++ b/include/asm-ppc64/emergency-restart.h
@@ -1,6 +1 @@
-#ifndef _ASM_EMERGENCY_RESTART_H
-#define _ASM_EMERGENCY_RESTART_H
-
 #include <asm-generic/emergency-restart.h>
-
-#endif /* _ASM_EMERGENCY_RESTART_H */
diff --git a/include/asm-ppc64/errno.h b/include/asm-ppc64/errno.h
--- a/include/asm-ppc64/errno.h
+++ b/include/asm-ppc64/errno.h
@@ -1,18 +1,2 @@
-#ifndef _PPC64_ERRNO_H
-#define _PPC64_ERRNO_H
-
-/* 
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <asm-generic/errno.h>
-
-#undef	EDEADLOCK
-#define	EDEADLOCK	58	/* File locking deadlock error */
-
-#define _LAST_ERRNO	516
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/errno.h>
diff --git a/include/asm-ppc64/linkage.h b/include/asm-ppc64/linkage.h
--- a/include/asm-ppc64/linkage.h
+++ b/include/asm-ppc64/linkage.h
@@ -1,6 +1,2 @@
-#ifndef __ASM_LINKAGE_H
-#define __ASM_LINKAGE_H
-
-/* Nothing to see here... */
-
-#endif
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/linkage.h>
diff --git a/include/asm-ppc64/parport.h b/include/asm-ppc64/parport.h
--- a/include/asm-ppc64/parport.h
+++ b/include/asm-ppc64/parport.h
@@ -1,18 +1 @@
-/*
- * parport.h: platform-specific PC-style parport initialisation
- *
- * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * This file should only be included by drivers/parport/parport_pc.c.
- */
-
-#ifndef _ASM_PPC64_PARPORT_H
-#define _ASM_PPC64_PARPORT_H
-
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
-static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
-{
-	return parport_pc_find_isa_ports (autoirq, autodma);
-}
-
-#endif /* !(_ASM_PPC_PARPORT_H) */
+#include <asm-powerpc/parport.h>
diff --git a/include/asm-ppc64/percpu.h b/include/asm-ppc64/percpu.h
--- a/include/asm-ppc64/percpu.h
+++ b/include/asm-ppc64/percpu.h
@@ -1,6 +1 @@
-#ifndef __ARCH_PPC64_PERCPU__
-#define __ARCH_PPC64_PERCPU__
-
 #include <asm-generic/percpu.h>
-
-#endif /* __ARCH_PPC64_PERCPU__ */
diff --git a/include/asm-ppc64/poll.h b/include/asm-ppc64/poll.h
--- a/include/asm-ppc64/poll.h
+++ b/include/asm-ppc64/poll.h
@@ -1,32 +1,2 @@
-#ifndef __PPC64_POLL_H
-#define __PPC64_POLL_H
-
-/*
- * Copyright (C) 2001 PPC64 Team, IBM Corp
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define POLLIN		0x0001
-#define POLLPRI		0x0002
-#define POLLOUT		0x0004
-#define POLLERR		0x0008
-#define POLLHUP		0x0010
-#define POLLNVAL	0x0020
-#define POLLRDNORM	0x0040
-#define POLLRDBAND	0x0080
-#define POLLWRNORM	0x0100
-#define POLLWRBAND	0x0200
-#define POLLMSG		0x0400
-#define POLLREMOVE	0x1000
-
-struct pollfd {
-	int fd;
-	short events;
-	short revents;
-};
-
-#endif /* __PPC64_POLL_H */
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/poll.h>
diff --git a/include/asm-ppc64/resource.h b/include/asm-ppc64/resource.h
--- a/include/asm-ppc64/resource.h
+++ b/include/asm-ppc64/resource.h
@@ -1,6 +1 @@
-#ifndef _PPC64_RESOURCE_H
-#define _PPC64_RESOURCE_H
-
 #include <asm-generic/resource.h>
-
-#endif /* _PPC64_RESOURCE_H */
diff --git a/include/asm-ppc64/shmparam.h b/include/asm-ppc64/shmparam.h
--- a/include/asm-ppc64/shmparam.h
+++ b/include/asm-ppc64/shmparam.h
@@ -1,13 +1,2 @@
-#ifndef _PPC64_SHMPARAM_H
-#define _PPC64_SHMPARAM_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
-
-#endif /* _PPC64_SHMPARAM_H */
+/* ppc and ppc64 are being merged into powerpc */
+#include <asm-powerpc/shmparam.h>

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

* Re: Beginning Merger Patch
  2005-08-02 22:59 Beginning Merger Patch Jon Loeliger
@ 2005-08-02 23:05 ` Eugene Surovegin
  2005-08-02 23:12   ` Dan Malek
  2005-08-03  2:38   ` Josh Boyer
  2005-08-02 23:10 ` Dan Malek
  2005-08-03  2:17 ` Beginning Merger Patch Nathan Lynch
  2 siblings, 2 replies; 21+ messages in thread
From: Eugene Surovegin @ 2005-08-02 23:05 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, linuxppc64-dev

On Tue, Aug 02, 2005 at 05:59:35PM -0500, Jon Loeliger wrote:
> Here is a patch to begin the process of merging
> the PPC32 and PPC64 include directories into a
> new common "powerpc" arch.
> 
> This patch introduces the include/asm-powerpc directory.
> It then places into it, all of the files in asm-ppc and
> asm-ppc64 that are essentially identical.  A stub is left
> in asm-ppc and asm-ppc64 pointing to the unified files.
> No real thought went into this set of files; these are
> the dead-simple identical files for starters!

Hmm, I got an impression that we wouldn't touch ppc and ppc64 for 
now and just _copy_ or create clean stuff into powerpc. I think this 
will be much safer, at least at the beginning.

-- 
Eugene

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

* Re: Beginning Merger Patch
  2005-08-02 22:59 Beginning Merger Patch Jon Loeliger
  2005-08-02 23:05 ` Eugene Surovegin
@ 2005-08-02 23:10 ` Dan Malek
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
  2005-08-03  2:17 ` Beginning Merger Patch Nathan Lynch
  2 siblings, 1 reply; 21+ messages in thread
From: Dan Malek @ 2005-08-02 23:10 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org


On Aug 2, 2005, at 6:59 PM, Jon Loeliger wrote:

> ..... A stub is left
> in asm-ppc and asm-ppc64 pointing to the unified files.

Why bother?  You may as well change all of the source
files, too, or else that will never get done :-)

Thanks.

	-- Dan

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

* Re: Beginning Merger Patch
  2005-08-02 23:05 ` Eugene Surovegin
@ 2005-08-02 23:12   ` Dan Malek
  2005-08-02 23:17     ` Eugene Surovegin
  2005-08-03  3:08     ` Paul Mackerras
  2005-08-03  2:38   ` Josh Boyer
  1 sibling, 2 replies; 21+ messages in thread
From: Dan Malek @ 2005-08-02 23:12 UTC (permalink / raw)
  To: Eugene Surovegin; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org


On Aug 2, 2005, at 7:05 PM, Eugene Surovegin wrote:

> Hmm, I got an impression that we wouldn't touch ppc and ppc64 for
> now and just _copy_ or create clean stuff into powerpc. I think this
> will be much safer, at least at the beginning.

Shouldn't this be a 2.7 project?


	-- Dan

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

* Re: Beginning Merger Patch
  2005-08-02 23:12   ` Dan Malek
@ 2005-08-02 23:17     ` Eugene Surovegin
  2005-08-03  3:08     ` Paul Mackerras
  1 sibling, 0 replies; 21+ messages in thread
From: Eugene Surovegin @ 2005-08-02 23:17 UTC (permalink / raw)
  To: Dan Malek; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org

On Tue, Aug 02, 2005 at 07:12:05PM -0400, Dan Malek wrote:
> 
> On Aug 2, 2005, at 7:05 PM, Eugene Surovegin wrote:
> 
> >Hmm, I got an impression that we wouldn't touch ppc and ppc64 for
> >now and just _copy_ or create clean stuff into powerpc. I think this
> >will be much safer, at least at the beginning.
> 
> Shouldn't this be a 2.7 project?

Maybe, I'm still waiting for official announcement from the maintainer 
:)

-- 
Eugene

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

* Re: Beginning Merger Patch
  2005-08-02 22:59 Beginning Merger Patch Jon Loeliger
  2005-08-02 23:05 ` Eugene Surovegin
  2005-08-02 23:10 ` Dan Malek
@ 2005-08-03  2:17 ` Nathan Lynch
  2005-08-03  2:58   ` Eugene Surovegin
  2 siblings, 1 reply; 21+ messages in thread
From: Nathan Lynch @ 2005-08-03  2:17 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org, linuxppc64-dev

Jon Loeliger wrote:
> Folks,
> 
> I have grabbed my asbestos suit.
> 
> Here is a patch to begin the process of merging
> the PPC32 and PPC64 include directories into a
> new common "powerpc" arch.

Perhaps you could briefly explain the motivation for this?

I think I've heard/read that something like this was in the works, but
I'd like to know what the problem is, and why it should be solved this
way instead of e.g. x86_64's method of including headers directly from
asm-i386.


Nathan

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

* Re: Beginning Merger Patch
  2005-08-02 23:05 ` Eugene Surovegin
  2005-08-02 23:12   ` Dan Malek
@ 2005-08-03  2:38   ` Josh Boyer
  1 sibling, 0 replies; 21+ messages in thread
From: Josh Boyer @ 2005-08-03  2:38 UTC (permalink / raw)
  To: Eugene Surovegin; +Cc: linuxppc-dev@ozlabs.org, linuxppc64-dev

On Tue, 2005-08-02 at 16:05 -0700, Eugene Surovegin wrote:
> On Tue, Aug 02, 2005 at 05:59:35PM -0500, Jon Loeliger wrote:
> > Here is a patch to begin the process of merging
> > the PPC32 and PPC64 include directories into a
> > new common "powerpc" arch.
> > 
> > This patch introduces the include/asm-powerpc directory.
> > It then places into it, all of the files in asm-ppc and
> > asm-ppc64 that are essentially identical.  A stub is left
> > in asm-ppc and asm-ppc64 pointing to the unified files.
> > No real thought went into this set of files; these are
> > the dead-simple identical files for starters!
> 
> Hmm, I got an impression that we wouldn't touch ppc and ppc64 for 
> now and just _copy_ or create clean stuff into powerpc. I think this 
> will be much safer, at least at the beginning.

Safer, maybe.  But then you have triple maintenance, since all the files
in question were just duplicates.

Patches like this don't need to be applied right away.  They take time
and lots of vetting.  They can live as separate entities until they are
really ready to be committed.  That being said, I say go whole-hog and
do it as Jon has done.  Especially considering that he has a git tree
that can be worked from.

josh

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

* Re: Beginning Merger Patch
  2005-08-03  2:17 ` Beginning Merger Patch Nathan Lynch
@ 2005-08-03  2:58   ` Eugene Surovegin
  0 siblings, 0 replies; 21+ messages in thread
From: Eugene Surovegin @ 2005-08-03  2:58 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: linuxppc-dev@ozlabs.org, linuxppc64-dev

On Tue, Aug 02, 2005 at 09:17:42PM -0500, Nathan Lynch wrote:
> Jon Loeliger wrote:
> > Folks,
> > 
> > I have grabbed my asbestos suit.
> > 
> > Here is a patch to begin the process of merging
> > the PPC32 and PPC64 include directories into a
> > new common "powerpc" arch.
> 
> Perhaps you could briefly explain the motivation for this?
> 
> I think I've heard/read that something like this was in the works, but
> I'd like to know what the problem is, and why it should be solved this
> way instead of e.g. x86_64's method of including headers directly from
> asm-i386.

I think the reason for such approach is that there will be no asm-ppc 
and asm-ppc64 in the end of this transition. This differs 
significantly from i386/x86_64 situation.

-- 
Eugene

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

* Re: Beginning Merger Patch
  2005-08-02 23:12   ` Dan Malek
  2005-08-02 23:17     ` Eugene Surovegin
@ 2005-08-03  3:08     ` Paul Mackerras
  1 sibling, 0 replies; 21+ messages in thread
From: Paul Mackerras @ 2005-08-03  3:08 UTC (permalink / raw)
  To: Dan Malek; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org

Dan Malek writes:

> Shouldn't this be a 2.7 project?

I don't think so; I don't think it's going to be as dramatically
invasive as to need to wait for a 2.7, and in any case, there is no
sign of 2.7 on the horizon.

Paul.

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

* [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-02 23:10 ` Dan Malek
@ 2005-08-05  7:47   ` Stephen Rothwell
  2005-08-05  7:50     ` [PATCH] 2/2 merge the easy ones Stephen Rothwell
                       ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Stephen Rothwell @ 2005-08-05  7:47 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: linuxppc-dev

On Tue, 2 Aug 2005 19:10:56 -0400 Dan Malek <dan@embeddededge.com> wrote:
>
> On Aug 2, 2005, at 6:59 PM, Jon Loeliger wrote:
> 
> > ..... A stub is left
> > in asm-ppc and asm-ppc64 pointing to the unified files.
> 
> Why bother?  You may as well change all of the source
> files, too, or else that will never get done :-)

You actually don't need to modify (m)any source files.

Here is an alternative approach.  These patches depend on Olaf's
boot code cleanup for ppc64 (or similar).  Do the following:

cd linux/include
mkdir asm-powerpc
cd asm-ppc
for i in *
do
	[ -e ../asm-ppc64/$i ] || mv $i ../asm-powerpc/$i
done
cd ../asm-ppc64
for i in *
do
	[ -e ../asm-ppc/$i ] || mv $i ../asm-powerpc/$i
done
for i in *
do
	[ -f ../asm-ppc64/$i ] && cmp -s $i ../asm-ppc64/$i &&
		mv $i ../asm-powerpc/$i && rm ../asm-ppc64/$i
done

Then apply the patch below and the patch in the following email.

I have built this kernel for ppc (defconfig), ppc64 (iSeries, pSeries and
pmac).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus-powerpc.xx/arch/ppc/Makefile linus-powerpc.1/arch/ppc/Makefile
--- linus-powerpc.xx/arch/ppc/Makefile	2005-06-27 16:08:00.000000000 +1000
+++ linus-powerpc.1/arch/ppc/Makefile	2005-08-05 11:19:25.000000000 +1000
@@ -21,11 +21,13 @@ CC		:= $(CC) -m32
 endif
 
 LDFLAGS_vmlinux	:= -Ttext $(KERNELLOAD) -Bstatic
-CPPFLAGS	+= -Iarch/$(ARCH)
+CPPFLAGS	+= -Iarch/$(ARCH) -Iinclude3
 AFLAGS		+= -Iarch/$(ARCH)
 CFLAGS		+= -Iarch/$(ARCH) -msoft-float -pipe \
 		-ffixed-r2 -mmultiple
 CPP		= $(CC) -E $(CFLAGS)
+# Temporary hack until we have migrated to asm-powerpc
+LINUXINCLUDE	+= -Iinclude3
 
 CHECKFLAGS	+= -D__powerpc__
 
@@ -101,6 +103,7 @@ endef
 
 archclean:
 	$(Q)$(MAKE) $(clean)=arch/ppc/boot
+	$(Q)rm -rf include3
 
 prepare: include/asm-$(ARCH)/offsets.h checkbin
 
@@ -110,6 +113,12 @@ arch/$(ARCH)/kernel/asm-offsets.s: inclu
 include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
 	$(call filechk,gen-asm-offsets)
 
+# Temporary hack until we have migrated to asm-powerpc
+include/asm: include3/asm
+include3/asm:
+	$(Q)if [ ! -d include3 ]; then mkdir -p include3; fi;
+	$(Q)ln -fsn $(srctree)/include/asm-powerpc include3/asm
+
 # Use the file '.tmp_gas_check' for binutils tests, as gas won't output
 # to stdout and these checks are run even on install targets.
 TOUT	:= .tmp_gas_check
diff -ruNp linus-powerpc.xx/arch/ppc64/Makefile linus-powerpc.1/arch/ppc64/Makefile
--- linus-powerpc.xx/arch/ppc64/Makefile	2005-06-27 16:08:00.000000000 +1000
+++ linus-powerpc.1/arch/ppc64/Makefile	2005-08-05 11:19:50.000000000 +1000
@@ -55,6 +55,8 @@ LDFLAGS		:= -m elf64ppc
 LDFLAGS_vmlinux	:= -Bstatic -e $(KERNELLOAD) -Ttext $(KERNELLOAD)
 CFLAGS		+= -msoft-float -pipe -mminimal-toc -mtraceback=none \
 		   -mcall-aixdesc
+# Temporary hack until we have migrated to asm-powerpc
+CPPFLAGS	+= -Iinclude3
 
 GCC_VERSION     := $(call cc-version)
 GCC_BROKEN_VEC	:= $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "y"; fi ;)
@@ -112,6 +114,7 @@ all: $(KBUILD_IMAGE)
 
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
+	$(Q)rm -rf include3
 
 prepare: include/asm-ppc64/offsets.h
 
@@ -121,6 +124,12 @@ arch/ppc64/kernel/asm-offsets.s: include
 include/asm-ppc64/offsets.h: arch/ppc64/kernel/asm-offsets.s
 	$(call filechk,gen-asm-offsets)
 
+# Temporary hack until we have migrated to asm-powerpc
+include/asm:	include3/asm
+include3/asm:
+	$(Q)if [ ! -d include3 ]; then mkdir -p include3; fi;
+	$(Q)ln -fsn $(srctree)/include/asm-powerpc include3/asm
+
 define archhelp
   echo  '* zImage       - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
   echo  '  zImage.initrd- Compressed kernel image with initrd attached,'

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

* [PATCH] 2/2 merge the easy ones
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
@ 2005-08-05  7:50     ` Stephen Rothwell
  2005-08-05  8:37     ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
                       ` (3 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Stephen Rothwell @ 2005-08-05  7:50 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: linuxppc-dev

Here is the rest of the easy headers to merge.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus-powerpc.1a/include/asm-powerpc/cputime.h linus-powerpc.2/include/asm-powerpc/cputime.h
--- linus-powerpc.1a/include/asm-powerpc/cputime.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/cputime.h	2005-08-05 15:04:55.000000000 +1000
@@ -1,6 +1 @@
-#ifndef __PPC_CPUTIME_H
-#define __PPC_CPUTIME_H
-
 #include <asm-generic/cputime.h>
-
-#endif /* __PPC_CPUTIME_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/div64.h linus-powerpc.2/include/asm-powerpc/div64.h
--- linus-powerpc.1a/include/asm-powerpc/div64.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/div64.h	1970-01-01 10:00:00.000000000 +1000
@@ -1 +0,0 @@
-#include <asm-generic/div64.h>
diff -ruNp linus-powerpc.1a/include/asm-powerpc/emergency-restart.h linus-powerpc.2/include/asm-powerpc/emergency-restart.h
--- linus-powerpc.1a/include/asm-powerpc/emergency-restart.h	2005-07-27 10:17:26.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/emergency-restart.h	2005-08-05 15:04:55.000000000 +1000
@@ -1,6 +1 @@
-#ifndef _ASM_EMERGENCY_RESTART_H
-#define _ASM_EMERGENCY_RESTART_H
-
 #include <asm-generic/emergency-restart.h>
-
-#endif /* _ASM_EMERGENCY_RESTART_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/errno.h linus-powerpc.2/include/asm-powerpc/errno.h
--- linus-powerpc.1a/include/asm-powerpc/errno.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/errno.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,11 @@
+#ifndef _ASM_ERRNO_H
+#define _ASM_ERRNO_H
+
+#include <asm-generic/errno.h>
+
+#undef	EDEADLOCK
+#define	EDEADLOCK	58	/* File locking deadlock error */
+
+#define _LAST_ERRNO	516
+
+#endif /* _ASM_ERRNO_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/ioctl.h linus-powerpc.2/include/asm-powerpc/ioctl.h
--- linus-powerpc.1a/include/asm-powerpc/ioctl.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/ioctl.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,69 @@
+#ifndef _ASM_IOCTL_H
+#define _ASM_IOCTL_H
+
+
+/*
+ * This was copied from the alpha as it's a bit cleaner there.
+ *                         -- Cort
+ */
+
+#define _IOC_NRBITS	8
+#define _IOC_TYPEBITS	8
+#define _IOC_SIZEBITS	13
+#define _IOC_DIRBITS	3
+
+#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1)
+#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1)
+#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1)
+#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1)
+
+#define _IOC_NRSHIFT	0
+#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS)
+#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS)
+#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS)
+
+/*
+ * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
+ * And this turns out useful to catch old ioctl numbers in header
+ * files for us.
+ */
+#define _IOC_NONE	1U
+#define _IOC_READ	2U
+#define _IOC_WRITE	4U
+
+#define _IOC(dir,type,nr,size) \
+	(((dir)  << _IOC_DIRSHIFT) | \
+	 ((type) << _IOC_TYPESHIFT) | \
+	 ((nr)   << _IOC_NRSHIFT) | \
+	 ((size) << _IOC_SIZESHIFT))
+
+/* provoke compile error for invalid uses of size argument */
+extern unsigned int __invalid_size_argument_for_IOC;
+#define _IOC_TYPECHECK(t) \
+       ((sizeof(t) == sizeof(t[1]) && \
+         sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
+         sizeof(t) : __invalid_size_argument_for_IOC)
+
+/* used to create numbers */
+#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0)
+#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOR_BAD(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size))
+#define _IOW_BAD(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size))
+#define _IOWR_BAD(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
+
+/* used to decode them.. */
+#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
+#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
+#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
+#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
+
+/* various drivers, such as the pcmcia stuff, need these... */
+#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT)
+#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT)
+#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
+#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT)
+#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT)
+
+#endif /* _ASM_IOCTL_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/ioctls.h linus-powerpc.2/include/asm-powerpc/ioctls.h
--- linus-powerpc.1a/include/asm-powerpc/ioctls.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/ioctls.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,107 @@
+#ifndef _ASM_IOCTLS_H
+#define _ASM_IOCTLS_H
+
+#include <asm/ioctl.h>
+
+#define FIOCLEX		_IO('f', 1)
+#define FIONCLEX	_IO('f', 2)
+#define FIOASYNC	_IOW('f', 125, int)
+#define FIONBIO		_IOW('f', 126, int)
+#define FIONREAD	_IOR('f', 127, int)
+#define TIOCINQ		FIONREAD
+#define FIOQSIZE        _IOR('f', 128, loff_t)
+
+#define TIOCGETP	_IOR('t', 8, struct sgttyb)
+#define TIOCSETP	_IOW('t', 9, struct sgttyb)
+#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
+
+#define TIOCSETC	_IOW('t', 17, struct tchars)
+#define TIOCGETC	_IOR('t', 18, struct tchars)
+#define TCGETS		_IOR('t', 19, struct termios)
+#define TCSETS		_IOW('t', 20, struct termios)
+#define TCSETSW		_IOW('t', 21, struct termios)
+#define TCSETSF		_IOW('t', 22, struct termios)
+
+#define TCGETA		_IOR('t', 23, struct termio)
+#define TCSETA		_IOW('t', 24, struct termio)
+#define TCSETAW		_IOW('t', 25, struct termio)
+#define TCSETAF		_IOW('t', 28, struct termio)
+
+#define TCSBRK		_IO('t', 29)
+#define TCXONC		_IO('t', 30)
+#define TCFLSH		_IO('t', 31)
+
+#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
+#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
+#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
+#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
+#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
+
+#define TIOCGLTC	_IOR('t', 116, struct ltchars)
+#define TIOCSLTC	_IOW('t', 117, struct ltchars)
+#define TIOCSPGRP	_IOW('t', 118, int)
+#define TIOCGPGRP	_IOR('t', 119, int)
+
+#define TIOCEXCL	0x540C
+#define TIOCNXCL	0x540D
+#define TIOCSCTTY	0x540E
+
+#define TIOCSTI		0x5412
+#define TIOCMGET	0x5415
+#define TIOCMBIS	0x5416
+#define TIOCMBIC	0x5417
+#define TIOCMSET	0x5418
+# define TIOCM_LE	0x001
+# define TIOCM_DTR	0x002
+# define TIOCM_RTS	0x004
+# define TIOCM_ST	0x008
+# define TIOCM_SR	0x010
+# define TIOCM_CTS	0x020
+# define TIOCM_CAR	0x040
+# define TIOCM_RNG	0x080
+# define TIOCM_DSR	0x100
+# define TIOCM_CD	TIOCM_CAR
+# define TIOCM_RI	TIOCM_RNG
+
+#define TIOCGSOFTCAR	0x5419
+#define TIOCSSOFTCAR	0x541A
+#define TIOCLINUX	0x541C
+#define TIOCCONS	0x541D
+#define TIOCGSERIAL	0x541E
+#define TIOCSSERIAL	0x541F
+#define TIOCPKT		0x5420
+# define TIOCPKT_DATA		 0
+# define TIOCPKT_FLUSHREAD	 1
+# define TIOCPKT_FLUSHWRITE	 2
+# define TIOCPKT_STOP		 4
+# define TIOCPKT_START		 8
+# define TIOCPKT_NOSTOP		16
+# define TIOCPKT_DOSTOP		32
+
+
+#define TIOCNOTTY	0x5422
+#define TIOCSETD	0x5423
+#define TIOCGETD	0x5424
+#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
+#define TIOCSBRK	0x5427  /* BSD compatibility */
+#define TIOCCBRK	0x5428  /* BSD compatibility */
+#define TIOCGSID	0x5429  /* Return the session ID of FD */
+#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
+#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+
+#define TIOCSERCONFIG	0x5453
+#define TIOCSERGWILD	0x5454
+#define TIOCSERSWILD	0x5455
+#define TIOCGLCKTRMIOS	0x5456
+#define TIOCSLCKTRMIOS	0x5457
+#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
+#define TIOCSERGETLSR   0x5459 /* Get line status register */
+  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
+#define TIOCSERSETMULTI 0x545B /* Set multiport config */
+
+#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
+#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
+
+#endif /* _ASM_IOCTLS_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/linkage.h linus-powerpc.2/include/asm-powerpc/linkage.h
--- linus-powerpc.1a/include/asm-powerpc/linkage.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/linkage.h	2005-08-05 15:04:55.000000000 +1000
@@ -1,6 +1 @@
-#ifndef __ASM_LINKAGE_H
-#define __ASM_LINKAGE_H
-
 /* Nothing to see here... */
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-powerpc/local.h linus-powerpc.2/include/asm-powerpc/local.h
--- linus-powerpc.1a/include/asm-powerpc/local.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/local.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1 @@
+#include <asm-generic/local.h>
diff -ruNp linus-powerpc.1a/include/asm-powerpc/mman.h linus-powerpc.2/include/asm-powerpc/mman.h
--- linus-powerpc.1a/include/asm-powerpc/mman.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/mman.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,44 @@
+#ifndef _ASM_MMAN_H
+#define _ASM_MMAN_H
+
+#define PROT_READ	0x1		/* page can be read */
+#define PROT_WRITE	0x2		/* page can be written */
+#define PROT_EXEC	0x4		/* page can be executed */
+#define PROT_SEM	0x8		/* page may be used for atomic ops */
+#define PROT_NONE	0x0		/* page can not be accessed */
+#define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
+#define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
+
+#define MAP_SHARED	0x01		/* Share changes */
+#define MAP_PRIVATE	0x02		/* Changes are private */
+#define MAP_TYPE	0x0f		/* Mask for type of mapping */
+#define MAP_FIXED	0x10		/* Interpret addr exactly */
+#define MAP_ANONYMOUS	0x20		/* don't use a file */
+#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
+#define MAP_NORESERVE   0x40            /* don't reserve swap pages */
+#define MAP_LOCKED	0x80
+
+#define MAP_GROWSDOWN	0x0100		/* stack-like segment */
+#define MAP_DENYWRITE	0x0800		/* ETXTBSY */
+#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
+#define MAP_POPULATE	0x8000		/* populate (prefault) pagetables */
+#define MAP_NONBLOCK	0x10000		/* do not block on IO */
+
+#define MS_ASYNC	1		/* sync memory asynchronously */
+#define MS_INVALIDATE	2		/* invalidate the caches */
+#define MS_SYNC		4		/* synchronous memory sync */
+
+#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
+#define MCL_FUTURE      0x4000          /* lock all additions to address space */
+
+#define MADV_NORMAL	0x0		/* default page-in behavior */
+#define MADV_RANDOM	0x1		/* page-in minimum required */
+#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */
+#define MADV_WILLNEED	0x3		/* pre-fault pages */
+#define MADV_DONTNEED	0x4		/* discard these pages */
+
+/* compatibility flags */
+#define MAP_ANON	MAP_ANONYMOUS
+#define MAP_FILE	0
+
+#endif /* _ASM_MMAN_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/param.h linus-powerpc.2/include/asm-powerpc/param.h
--- linus-powerpc.1a/include/asm-powerpc/param.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/param.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,29 @@
+#ifndef _ASM_PARAM_H
+#define _ASM_PARAM_H
+
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#ifdef __KERNEL__
+# define HZ		1000		/* Internal kernel timer frequency */
+# define USER_HZ	100		/* .. some user interfaces are in "ticks" */
+# define CLOCKS_PER_SEC	(USER_HZ)	/* like times() */
+#endif
+
+#ifndef HZ
+#define HZ 100
+#endif
+
+#define EXEC_PAGESIZE	4096
+
+#ifndef NOGROUP
+#define NOGROUP		(-1)
+#endif
+
+#define MAXHOSTNAMELEN	64	/* max length of hostname */
+
+#endif /* _ASM_PARAM_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/parport.h linus-powerpc.2/include/asm-powerpc/parport.h
--- linus-powerpc.1a/include/asm-powerpc/parport.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/parport.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,18 @@
+/*
+ * parport.h: platform-specific PC-style parport initialisation
+ *
+ * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
+ *
+ * This file should only be included by drivers/parport/parport_pc.c.
+ */
+
+#ifndef _ASM_PARPORT_H
+#define _ASM_PARPORT_H
+
+static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
+static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
+{
+	return parport_pc_find_isa_ports (autoirq, autodma);
+}
+
+#endif /* !(_ASM_PARPORT_H) */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/percpu.h linus-powerpc.2/include/asm-powerpc/percpu.h
--- linus-powerpc.1a/include/asm-powerpc/percpu.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/percpu.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1 @@
+#include <asm-generic/percpu.h>
diff -ruNp linus-powerpc.1a/include/asm-powerpc/poll.h linus-powerpc.2/include/asm-powerpc/poll.h
--- linus-powerpc.1a/include/asm-powerpc/poll.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/poll.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,32 @@
+#ifndef _ASM_POLL_H
+#define _ASM_POLL_H
+
+/*
+ * Copyright (C) 2001 PPC64 Team, IBM Corp
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#define POLLIN		0x0001
+#define POLLPRI		0x0002
+#define POLLOUT		0x0004
+#define POLLERR		0x0008
+#define POLLHUP		0x0010
+#define POLLNVAL	0x0020
+#define POLLRDNORM	0x0040
+#define POLLRDBAND	0x0080
+#define POLLWRNORM	0x0100
+#define POLLWRBAND	0x0200
+#define POLLMSG		0x0400
+#define POLLREMOVE	0x1000
+
+struct pollfd {
+	int fd;
+	short events;
+	short revents;
+};
+
+#endif /* _ASM_POLL_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/resource.h linus-powerpc.2/include/asm-powerpc/resource.h
--- linus-powerpc.1a/include/asm-powerpc/resource.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/resource.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1 @@
+#include <asm-generic/resource.h>
diff -ruNp linus-powerpc.1a/include/asm-powerpc/shmparam.h linus-powerpc.2/include/asm-powerpc/shmparam.h
--- linus-powerpc.1a/include/asm-powerpc/shmparam.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/shmparam.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,6 @@
+#ifndef _ASM_SHMPARAM_H
+#define _ASM_SHMPARAM_H
+
+#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
+
+#endif /* _ASM_SHMPARAM_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/string.h linus-powerpc.2/include/asm-powerpc/string.h
--- linus-powerpc.1a/include/asm-powerpc/string.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/string.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,32 @@
+#ifndef _ASM_STRING_H
+#define _ASM_STRING_H
+
+#ifdef __KERNEL__
+
+#define __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRNCPY
+#define __HAVE_ARCH_STRLEN
+#define __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCAT
+#define __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMCMP
+#define __HAVE_ARCH_MEMCHR
+
+extern int strcasecmp(const char *, const char *);
+extern int strncasecmp(const char *, const char *, int);
+extern char * strcpy(char *,const char *);
+extern char * strncpy(char *,const char *, __kernel_size_t);
+extern __kernel_size_t strlen(const char *);
+extern int strcmp(const char *,const char *);
+extern char * strcat(char *, const char *);
+extern void * memset(void *,int,__kernel_size_t);
+extern void * memcpy(void *,const void *,__kernel_size_t);
+extern void * memmove(void *,const void *,__kernel_size_t);
+extern int memcmp(const void *,const void *,__kernel_size_t);
+extern void * memchr(const void *,int,__kernel_size_t);
+
+#endif /* __KERNEL__ */
+
+#endif /* _ASM_STRING_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/termbits.h linus-powerpc.2/include/asm-powerpc/termbits.h
--- linus-powerpc.1a/include/asm-powerpc/termbits.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/termbits.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,184 @@
+#ifndef _ASM_TERMBITS_H
+#define _ASM_TERMBITS_H
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+/*
+ * termios type and macro definitions.  Be careful about adding stuff
+ * to this file since it's used in GNU libc and there are strict rules
+ * concerning namespace pollution.
+ */
+
+#define NCCS 19
+struct termios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_cc[NCCS];		/* control characters */
+	cc_t c_line;			/* line discipline (== c_cc[19]) */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
+/* c_cc characters */
+#define VINTR	         0
+#define VQUIT	         1
+#define VERASE	         2
+#define VKILL	         3
+#define VEOF	         4
+#define VMIN	         5
+#define VEOL	         6
+#define VTIME	         7
+#define VEOL2	         8
+#define VSWTC	         9
+#define VWERASE		10
+#define VREPRINT	11
+#define VSUSP		12
+#define VSTART		13
+#define VSTOP		14
+#define VLNEXT		15
+#define VDISCARD	16
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IXON	0001000
+#define IXOFF	0002000
+#define IXANY	0004000
+#define IUCLC	0010000
+#define IMAXBEL	0020000
+#define	IUTF8	0040000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#define NLDLY	00001400
+#define   NL0	00000000
+#define   NL1	00000400
+#define   NL2	00001000
+#define   NL3	00001400
+#define TABDLY	00006000
+#define   TAB0	00000000
+#define   TAB1	00002000
+#define   TAB2	00004000
+#define   TAB3	00006000
+#define   XTABS	00006000	/* required by POSIX to == TAB3 */
+#define CRDLY	00030000
+#define   CR0	00000000
+#define   CR1	00010000
+#define   CR2	00020000
+#define   CR3	00030000
+#define FFDLY	00040000
+#define   FF0	00000000
+#define   FF1	00040000
+#define BSDLY	00100000
+#define   BS0	00000000
+#define   BS1	00100000
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+
+/* c_cflag bit meaning */
+#define CBAUD	0000377
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#define  EXTA   B19200
+#define  EXTB   B38400
+#define  CBAUDEX 0000000
+#define  B57600   00020
+#define  B115200  00021
+#define  B230400  00022
+#define  B460800  00023
+#define  B500000  00024
+#define  B576000  00025
+#define  B921600  00026
+#define B1000000  00027
+#define B1152000  00030
+#define B1500000  00031
+#define B2000000  00032
+#define B2500000  00033
+#define B3000000  00034
+#define B3500000  00035
+#define B4000000  00036
+
+#define CSIZE	00001400
+#define   CS5	00000000
+#define   CS6	00000400
+#define   CS7	00001000
+#define   CS8	00001400
+
+#define CSTOPB	00002000
+#define CREAD	00004000
+#define PARENB	00010000
+#define PARODD	00020000
+#define HUPCL	00040000
+
+#define CLOCAL	00100000
+#define CRTSCTS	  020000000000		/* flow control */
+
+/* c_lflag bits */
+#define ISIG	0x00000080
+#define ICANON	0x00000100
+#define XCASE	0x00004000
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#define ECHOCTL	0x00000040
+#define ECHOPRT	0x00000020
+#define ECHOKE	0x00000001
+#define FLUSHO	0x00800000
+#define PENDIN	0x20000000
+#define IEXTEN	0x00000400
+
+/* Values for the ACTION argument to `tcflow'.  */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+#endif /* _ASM_TERMBITS_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/termios.h linus-powerpc.2/include/asm-powerpc/termios.h
--- linus-powerpc.1a/include/asm-powerpc/termios.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/termios.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,231 @@
+#ifndef _ASM_TERMIOS_H
+#define _ASM_TERMIOS_H
+
+/*
+ * Liberally adapted from alpha/termios.h.  In particular, the c_cc[]
+ * fields have been reordered so that termio & termios share the
+ * common subset in the same order (for brain dead programs that don't
+ * know or care about the differences).
+ */
+
+#include <asm/ioctls.h>
+#include <asm/termbits.h>
+
+struct sgttyb {
+	char	sg_ispeed;
+	char	sg_ospeed;
+	char	sg_erase;
+	char	sg_kill;
+	short	sg_flags;
+};
+
+struct tchars {
+	char	t_intrc;
+	char	t_quitc;
+	char	t_startc;
+	char	t_stopc;
+	char	t_eofc;
+	char	t_brkc;
+};
+
+struct ltchars {
+	char	t_suspc;
+	char	t_dsuspc;
+	char	t_rprntc;
+	char	t_flushc;
+	char	t_werasc;
+	char	t_lnextc;
+};
+
+struct winsize {
+	unsigned short ws_row;
+	unsigned short ws_col;
+	unsigned short ws_xpixel;
+	unsigned short ws_ypixel;
+};
+
+#define NCC 10
+struct termio {
+	unsigned short c_iflag;		/* input mode flags */
+	unsigned short c_oflag;		/* output mode flags */
+	unsigned short c_cflag;		/* control mode flags */
+	unsigned short c_lflag;		/* local mode flags */
+	unsigned char c_line;		/* line discipline */
+	unsigned char c_cc[NCC];	/* control characters */
+};
+
+/* c_cc characters */
+#define _VINTR	0
+#define _VQUIT	1
+#define _VERASE	2
+#define _VKILL	3
+#define _VEOF	4
+#define _VMIN	5
+#define _VEOL	6
+#define _VTIME	7
+#define _VEOL2	8
+#define _VSWTC	9
+
+/* line disciplines */
+#define N_TTY		0
+#define N_SLIP		1
+#define N_MOUSE		2
+#define N_PPP		3
+#define N_STRIP		4
+#define N_AX25		5
+#define N_X25		6	/* X.25 async */
+#define N_6PACK		7
+#define N_MASC		8	/* Reserved for Mobitex module <kaz@cafe.net> */
+#define N_R3964		9	/* Reserved for Simatic R3964 module */
+#define N_PROFIBUS_FDL	10	/* Reserved for Profibus <Dave@mvhi.com> */
+#define N_IRDA		11	/* Linux IrDa - http://irda.sourceforge.net/ */
+#define N_SMSBLOCK	12	/* SMS block mode - for talking to GSM data cards about SMS messages */
+#define N_HDLC		13	/* synchronous HDLC */
+#define N_SYNC_PPP	14
+#define N_HCI		15  /* Bluetooth HCI UART */
+
+#ifdef __KERNEL__
+/*                   ^C  ^\ del  ^U  ^D   1   0   0   0   0  ^W  ^R  ^Z  ^Q  ^S  ^V  ^U  */
+#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025"
+#endif	/* __KERNEL__ */
+
+#define FIOCLEX		_IO('f', 1)
+#define FIONCLEX	_IO('f', 2)
+#define FIOASYNC	_IOW('f', 125, int)
+#define FIONBIO		_IOW('f', 126, int)
+#define FIONREAD	_IOR('f', 127, int)
+#define TIOCINQ		FIONREAD
+
+#define TIOCGETP	_IOR('t', 8, struct sgttyb)
+#define TIOCSETP	_IOW('t', 9, struct sgttyb)
+#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
+
+#define TIOCSETC	_IOW('t', 17, struct tchars)
+#define TIOCGETC	_IOR('t', 18, struct tchars)
+#define TCGETS		_IOR('t', 19, struct termios)
+#define TCSETS		_IOW('t', 20, struct termios)
+#define TCSETSW		_IOW('t', 21, struct termios)
+#define TCSETSF		_IOW('t', 22, struct termios)
+
+#define TCGETA		_IOR('t', 23, struct termio)
+#define TCSETA		_IOW('t', 24, struct termio)
+#define TCSETAW		_IOW('t', 25, struct termio)
+#define TCSETAF		_IOW('t', 28, struct termio)
+
+#define TCSBRK		_IO('t', 29)
+#define TCXONC		_IO('t', 30)
+#define TCFLSH		_IO('t', 31)
+
+#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
+#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
+#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
+#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
+#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
+
+#define TIOCGLTC	_IOR('t', 116, struct ltchars)
+#define TIOCSLTC	_IOW('t', 117, struct ltchars)
+#define TIOCSPGRP	_IOW('t', 118, int)
+#define TIOCGPGRP	_IOR('t', 119, int)
+
+#define TIOCEXCL	0x540C
+#define TIOCNXCL	0x540D
+#define TIOCSCTTY	0x540E
+
+#define TIOCSTI		0x5412
+#define TIOCMGET	0x5415
+#define TIOCMBIS	0x5416
+#define TIOCMBIC	0x5417
+#define TIOCMSET	0x5418
+#define TIOCGSOFTCAR	0x5419
+#define TIOCSSOFTCAR	0x541A
+#define TIOCLINUX	0x541C
+#define TIOCCONS	0x541D
+#define TIOCGSERIAL	0x541E
+#define TIOCSSERIAL	0x541F
+#define TIOCPKT		0x5420
+
+#define TIOCNOTTY	0x5422
+#define TIOCSETD	0x5423
+#define TIOCGETD	0x5424
+#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
+
+#define TIOCSERCONFIG	0x5453
+#define TIOCSERGWILD	0x5454
+#define TIOCSERSWILD	0x5455
+#define TIOCGLCKTRMIOS	0x5456
+#define TIOCSLCKTRMIOS	0x5457
+#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
+#define TIOCSERGETLSR   0x5459 /* Get line status register */
+#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
+#define TIOCSERSETMULTI 0x545B /* Set multiport config */
+
+#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
+#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
+
+/* Used for packet mode */
+#define TIOCPKT_DATA		 0
+#define TIOCPKT_FLUSHREAD	 1
+#define TIOCPKT_FLUSHWRITE	 2
+#define TIOCPKT_STOP		 4
+#define TIOCPKT_START		 8
+#define TIOCPKT_NOSTOP		16
+#define TIOCPKT_DOSTOP		32
+
+/* modem lines */
+#define TIOCM_LE	0x001
+#define TIOCM_DTR	0x002
+#define TIOCM_RTS	0x004
+#define TIOCM_ST	0x008
+#define TIOCM_SR	0x010
+#define TIOCM_CTS	0x020
+#define TIOCM_CAR	0x040
+#define TIOCM_RNG	0x080
+#define TIOCM_DSR	0x100
+#define TIOCM_CD	TIOCM_CAR
+#define TIOCM_RI	TIOCM_RNG
+#define TIOCM_OUT1	0x2000
+#define TIOCM_OUT2	0x4000
+#define TIOCM_LOOP	0x8000
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+
+#ifdef __KERNEL__
+
+/*
+ * Translate a "termio" structure into a "termios". Ugh.
+ */
+#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
+	unsigned short __tmp; \
+	get_user(__tmp,&(termio)->x); \
+	(termios)->x = (0xffff0000 & (termios)->x) | __tmp; \
+}
+
+#define user_termio_to_kernel_termios(termios, termio) \
+({ \
+	SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
+	SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
+	SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
+	SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
+	copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
+})
+
+/*
+ * Translate a "termios" structure into a "termio". Ugh.
+ */
+#define kernel_termios_to_user_termio(termio, termios) \
+({ \
+	put_user((termios)->c_iflag, &(termio)->c_iflag); \
+	put_user((termios)->c_oflag, &(termio)->c_oflag); \
+	put_user((termios)->c_cflag, &(termio)->c_cflag); \
+	put_user((termios)->c_lflag, &(termio)->c_lflag); \
+	put_user((termios)->c_line,  &(termio)->c_line); \
+	copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
+})
+
+#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))
+#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
+
+#endif	/* __KERNEL__ */
+
+#endif	/* _ASM_TERMIOS_H */
diff -ruNp linus-powerpc.1a/include/asm-powerpc/unaligned.h linus-powerpc.2/include/asm-powerpc/unaligned.h
--- linus-powerpc.1a/include/asm-powerpc/unaligned.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-powerpc/unaligned.h	2005-08-05 15:04:55.000000000 +1000
@@ -0,0 +1,18 @@
+#ifdef __KERNEL__
+#ifndef _ASM_UNALIGNED_H
+#define _ASM_UNALIGNED_H
+
+/*
+ * The PowerPC can do unaligned accesses itself in big endian mode.
+ *
+ * The strange macros are there to make sure these can't
+ * be misused in a way that makes them not work on other
+ * architectures where unaligned accesses aren't as simple.
+ */
+
+#define get_unaligned(ptr) (*(ptr))
+
+#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
+
+#endif /* _ASM_UNALIGNED_H */
+#endif /* __KERNEL__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc/div64.h linus-powerpc.2/include/asm-ppc/div64.h
--- linus-powerpc.1a/include/asm-ppc/div64.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/div64.h	2005-06-27 16:08:08.000000000 +1000
@@ -0,0 +1 @@
+#include <asm-generic/div64.h>
diff -ruNp linus-powerpc.1a/include/asm-ppc/errno.h linus-powerpc.2/include/asm-ppc/errno.h
--- linus-powerpc.1a/include/asm-ppc/errno.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/errno.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,11 +0,0 @@
-#ifndef _PPC_ERRNO_H
-#define _PPC_ERRNO_H
-
-#include <asm-generic/errno.h>
-
-#undef	EDEADLOCK
-#define	EDEADLOCK	58	/* File locking deadlock error */
-
-#define _LAST_ERRNO	516
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/ioctl.h linus-powerpc.2/include/asm-ppc/ioctl.h
--- linus-powerpc.1a/include/asm-ppc/ioctl.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/ioctl.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,69 +0,0 @@
-#ifndef _PPC_IOCTL_H
-#define _PPC_IOCTL_H
-
-
-/*
- * this was copied from the alpha as it's a bit cleaner there.
- *                         -- Cort
- */
-
-#define _IOC_NRBITS	8
-#define _IOC_TYPEBITS	8
-#define _IOC_SIZEBITS	13
-#define _IOC_DIRBITS	3
-
-#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT	0
-#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE	1U
-#define _IOC_READ	2U
-#define _IOC_WRITE	4U
-
-#define _IOC(dir,type,nr,size) \
-	(((dir)  << _IOC_DIRSHIFT) | \
-	 ((type) << _IOC_TYPESHIFT) | \
-	 ((nr)   << _IOC_NRSHIFT) | \
-	 ((size) << _IOC_SIZESHIFT))
-
-/* provoke compile error for invalid uses of size argument */
-extern unsigned int __invalid_size_argument_for_IOC;
-#define _IOC_TYPECHECK(t) \
-	((sizeof(t) == sizeof(t[1]) && \
-	  sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
-	  sizeof(t) : __invalid_size_argument_for_IOC)
-
-/* used to create numbers */
-#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOR_BAD(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW_BAD(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR_BAD(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* various drivers, such as the pcmcia stuff, need these... */
-#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT)
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/ioctls.h linus-powerpc.2/include/asm-ppc/ioctls.h
--- linus-powerpc.1a/include/asm-ppc/ioctls.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/ioctls.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,107 +0,0 @@
-#ifndef _ASM_PPC_IOCTLS_H
-#define _ASM_PPC_IOCTLS_H
-
-#include <asm/ioctl.h>
-
-#define FIOCLEX		_IO('f', 1)
-#define FIONCLEX	_IO('f', 2)
-#define FIOASYNC	_IOW('f', 125, int)
-#define FIONBIO		_IOW('f', 126, int)
-#define FIONREAD	_IOR('f', 127, int)
-#define TIOCINQ		FIONREAD
-#define FIOQSIZE	_IOR('f', 128, loff_t)
-
-#define TIOCGETP	_IOR('t', 8, struct sgttyb)
-#define TIOCSETP	_IOW('t', 9, struct sgttyb)
-#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
-
-#define TIOCSETC	_IOW('t', 17, struct tchars)
-#define TIOCGETC	_IOR('t', 18, struct tchars)
-#define TCGETS		_IOR('t', 19, struct termios)
-#define TCSETS		_IOW('t', 20, struct termios)
-#define TCSETSW		_IOW('t', 21, struct termios)
-#define TCSETSF		_IOW('t', 22, struct termios)
-
-#define TCGETA		_IOR('t', 23, struct termio)
-#define TCSETA		_IOW('t', 24, struct termio)
-#define TCSETAW		_IOW('t', 25, struct termio)
-#define TCSETAF		_IOW('t', 28, struct termio)
-
-#define TCSBRK		_IO('t', 29)
-#define TCXONC		_IO('t', 30)
-#define TCFLSH		_IO('t', 31)
-
-#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
-#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
-#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
-#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
-#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
-
-#define TIOCGLTC	_IOR('t', 116, struct ltchars)
-#define TIOCSLTC	_IOW('t', 117, struct ltchars)
-#define TIOCSPGRP	_IOW('t', 118, int)
-#define TIOCGPGRP	_IOR('t', 119, int)
-
-#define TIOCEXCL	0x540C
-#define TIOCNXCL	0x540D
-#define TIOCSCTTY	0x540E
-
-#define TIOCSTI		0x5412
-#define TIOCMGET	0x5415
-#define TIOCMBIS	0x5416
-#define TIOCMBIC	0x5417
-#define TIOCMSET	0x5418
-# define TIOCM_LE	0x001
-# define TIOCM_DTR	0x002
-# define TIOCM_RTS	0x004
-# define TIOCM_ST	0x008
-# define TIOCM_SR	0x010
-# define TIOCM_CTS	0x020
-# define TIOCM_CAR	0x040
-# define TIOCM_RNG	0x080
-# define TIOCM_DSR	0x100
-# define TIOCM_CD	TIOCM_CAR
-# define TIOCM_RI	TIOCM_RNG
-
-#define TIOCGSOFTCAR	0x5419
-#define TIOCSSOFTCAR	0x541A
-#define TIOCLINUX	0x541C
-#define TIOCCONS	0x541D
-#define TIOCGSERIAL	0x541E
-#define TIOCSSERIAL	0x541F
-#define TIOCPKT		0x5420
-# define TIOCPKT_DATA		 0
-# define TIOCPKT_FLUSHREAD	 1
-# define TIOCPKT_FLUSHWRITE	 2
-# define TIOCPKT_STOP		 4
-# define TIOCPKT_START		 8
-# define TIOCPKT_NOSTOP		16
-# define TIOCPKT_DOSTOP		32
-
-
-#define TIOCNOTTY	0x5422
-#define TIOCSETD	0x5423
-#define TIOCGETD	0x5424
-#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
-#define TIOCSBRK	0x5427  /* BSD compatibility */
-#define TIOCCBRK	0x5428  /* BSD compatibility */
-#define TIOCGSID	0x5429  /* Return the session ID of FD */
-#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG	0x5453
-#define TIOCSERGWILD	0x5454
-#define TIOCSERSWILD	0x5455
-#define TIOCGLCKTRMIOS	0x5456
-#define TIOCSLCKTRMIOS	0x5457
-#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
-#define TIOCSERGETLSR   0x5459 /* Get line status register */
-  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
-#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
-
-#endif /* _ASM_PPC_IOCTLS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc/local.h linus-powerpc.2/include/asm-ppc/local.h
--- linus-powerpc.1a/include/asm-ppc/local.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/local.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef __PPC_LOCAL_H
-#define __PPC_LOCAL_H
-
-#include <asm-generic/local.h>
-
-#endif /* __PPC_LOCAL_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc/mman.h linus-powerpc.2/include/asm-ppc/mman.h
--- linus-powerpc.1a/include/asm-ppc/mman.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/mman.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,44 +0,0 @@
-#ifndef __PPC_MMAN_H__
-#define __PPC_MMAN_H__
-
-#define PROT_READ	0x1		/* page can be read */
-#define PROT_WRITE	0x2		/* page can be written */
-#define PROT_EXEC	0x4		/* page can be executed */
-#define PROT_SEM	0x8		/* page may be used for atomic ops */
-#define PROT_NONE	0x0		/* page can not be accessed */
-#define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
-#define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
-
-#define MAP_SHARED	0x01		/* Share changes */
-#define MAP_PRIVATE	0x02		/* Changes are private */
-#define MAP_TYPE	0x0f		/* Mask for type of mapping */
-#define MAP_FIXED	0x10		/* Interpret addr exactly */
-#define MAP_ANONYMOUS	0x20		/* don't use a file */
-#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
-#define MAP_NORESERVE   0x40            /* don't reserve swap pages */
-#define MAP_LOCKED	0x80
-
-#define MAP_GROWSDOWN	0x0100		/* stack-like segment */
-#define MAP_DENYWRITE	0x0800		/* ETXTBSY */
-#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
-#define MAP_POPULATE	0x8000		/* populate (prefault) pagetables */
-#define MAP_NONBLOCK	0x10000		/* do not block on IO */
-
-#define MS_ASYNC	1		/* sync memory asynchronously */
-#define MS_INVALIDATE	2		/* invalidate the caches */
-#define MS_SYNC		4		/* synchronous memory sync */
-
-#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
-#define MCL_FUTURE      0x4000          /* lock all additions to address space */
-
-#define MADV_NORMAL	0x0		/* default page-in behavior */
-#define MADV_RANDOM	0x1		/* page-in minimum required */
-#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */
-#define MADV_WILLNEED	0x3		/* pre-fault pages */
-#define MADV_DONTNEED	0x4		/* discard these pages */
-
-/* compatibility flags */
-#define MAP_ANON	MAP_ANONYMOUS
-#define MAP_FILE	0
-
-#endif /* __PPC_MMAN_H__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc/param.h linus-powerpc.2/include/asm-ppc/param.h
--- linus-powerpc.1a/include/asm-ppc/param.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/param.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,22 +0,0 @@
-#ifndef _ASM_PPC_PARAM_H
-#define _ASM_PPC_PARAM_H
-
-#ifdef __KERNEL__
-#define HZ		1000		/* internal timer frequency */
-#define USER_HZ		100		/* for user interfaces in "ticks" */
-#define CLOCKS_PER_SEC	(USER_HZ)	/* frequency at which times() counts */
-#endif /* __KERNEL__ */
-
-#ifndef HZ
-#define HZ 100
-#endif
-
-#define EXEC_PAGESIZE	4096
-
-#ifndef NOGROUP
-#define NOGROUP		(-1)
-#endif
-
-#define MAXHOSTNAMELEN	64	/* max length of hostname */
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/parport.h linus-powerpc.2/include/asm-ppc/parport.h
--- linus-powerpc.1a/include/asm-ppc/parport.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/parport.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,18 +0,0 @@
-/*
- * parport.h: platform-specific PC-style parport initialisation
- *
- * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * This file should only be included by drivers/parport/parport_pc.c.
- */
-
-#ifndef _ASM_PPC_PARPORT_H
-#define _ASM_PPC_PARPORT_H
-
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
-static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
-{
-	return parport_pc_find_isa_ports (autoirq, autodma);
-}
-
-#endif /* !(_ASM_PPC_PARPORT_H) */
diff -ruNp linus-powerpc.1a/include/asm-ppc/percpu.h linus-powerpc.2/include/asm-ppc/percpu.h
--- linus-powerpc.1a/include/asm-ppc/percpu.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/percpu.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef __ARCH_PPC_PERCPU__
-#define __ARCH_PPC_PERCPU__
-
-#include <asm-generic/percpu.h>
-
-#endif /* __ARCH_PPC_PERCPU__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc/poll.h linus-powerpc.2/include/asm-ppc/poll.h
--- linus-powerpc.1a/include/asm-ppc/poll.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/poll.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,23 +0,0 @@
-#ifndef __PPC_POLL_H
-#define __PPC_POLL_H
-
-#define POLLIN		0x0001
-#define POLLPRI		0x0002
-#define POLLOUT		0x0004
-#define POLLERR		0x0008
-#define POLLHUP		0x0010
-#define POLLNVAL	0x0020
-#define POLLRDNORM	0x0040
-#define POLLRDBAND	0x0080
-#define POLLWRNORM	0x0100
-#define POLLWRBAND	0x0200
-#define POLLMSG		0x0400
-#define POLLREMOVE	0x1000
-
-struct pollfd {
-	int fd;
-	short events;
-	short revents;
-};
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/resource.h linus-powerpc.2/include/asm-ppc/resource.h
--- linus-powerpc.1a/include/asm-ppc/resource.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/resource.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef _PPC_RESOURCE_H
-#define _PPC_RESOURCE_H
-
-#include <asm-generic/resource.h>
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/shmparam.h linus-powerpc.2/include/asm-ppc/shmparam.h
--- linus-powerpc.1a/include/asm-ppc/shmparam.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/shmparam.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef _PPC_SHMPARAM_H
-#define _PPC_SHMPARAM_H
-
-#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
-
-#endif /* _PPC_SHMPARAM_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc/string.h linus-powerpc.2/include/asm-ppc/string.h
--- linus-powerpc.1a/include/asm-ppc/string.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/string.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,32 +0,0 @@
-#ifndef _PPC_STRING_H_
-#define _PPC_STRING_H_
-
-#ifdef __KERNEL__
-
-#define __HAVE_ARCH_STRCPY
-#define __HAVE_ARCH_STRNCPY
-#define __HAVE_ARCH_STRLEN
-#define __HAVE_ARCH_STRCMP
-#define __HAVE_ARCH_STRCAT
-#define __HAVE_ARCH_MEMSET
-#define __HAVE_ARCH_MEMCPY
-#define __HAVE_ARCH_MEMMOVE
-#define __HAVE_ARCH_MEMCMP
-#define __HAVE_ARCH_MEMCHR
-
-extern int strcasecmp(const char *, const char *);
-extern int strncasecmp(const char *, const char *, int);
-extern char * strcpy(char *,const char *);
-extern char * strncpy(char *,const char *, __kernel_size_t);
-extern __kernel_size_t strlen(const char *);
-extern int strcmp(const char *,const char *);
-extern char * strcat(char *, const char *);
-extern void * memset(void *,int,__kernel_size_t);
-extern void * memcpy(void *,const void *,__kernel_size_t);
-extern void * memmove(void *,const void *,__kernel_size_t);
-extern int memcmp(const void *,const void *,__kernel_size_t);
-extern void * memchr(const void *,int,__kernel_size_t);
-
-#endif /* __KERNEL__ */
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc/termbits.h linus-powerpc.2/include/asm-ppc/termbits.h
--- linus-powerpc.1a/include/asm-ppc/termbits.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/termbits.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,185 +0,0 @@
-#ifndef _PPC_TERMBITS_H
-#define _PPC_TERMBITS_H
-
-typedef unsigned char	cc_t;
-typedef unsigned int	speed_t;
-typedef unsigned int	tcflag_t;
-
-/*
- * termios type and macro definitions.  Be careful about adding stuff
- * to this file since it's used in GNU libc and there are strict rules
- * concerning namespace pollution.
- */
-
-#define NCCS 19
-struct termios {
-	tcflag_t c_iflag;		/* input mode flags */
-	tcflag_t c_oflag;		/* output mode flags */
-	tcflag_t c_cflag;		/* control mode flags */
-	tcflag_t c_lflag;		/* local mode flags */
-	cc_t c_cc[NCCS];		/* control characters */
-	cc_t c_line;			/* line discipline (== c_cc[19]) */
-	speed_t c_ispeed;		/* input speed */
-	speed_t c_ospeed;		/* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 	0
-#define VQUIT 	1
-#define VERASE 	2
-#define VKILL	3
-#define VEOF	4
-#define VMIN	5
-#define VEOL	6
-#define VTIME	7
-#define VEOL2	8
-#define VSWTC	9
-
-#define VWERASE 	10
-#define VREPRINT	11
-#define VSUSP 		12
-#define VSTART		13
-#define VSTOP		14
-#define VLNEXT		15
-#define VDISCARD	16
-
-/* c_iflag bits */
-#define IGNBRK	0000001
-#define BRKINT	0000002
-#define IGNPAR	0000004
-#define PARMRK	0000010
-#define INPCK	0000020
-#define ISTRIP	0000040
-#define INLCR	0000100
-#define IGNCR	0000200
-#define ICRNL	0000400
-#define IXON	0001000
-#define IXOFF	0002000
-#define IXANY		0004000
-#define IUCLC		0010000
-#define IMAXBEL	0020000
-#define IUTF8	0040000
-
-/* c_oflag bits */
-#define OPOST	0000001
-#define ONLCR	0000002
-#define OLCUC	0000004
-
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-
-#define OFILL	00000100
-#define OFDEL	00000200
-#define NLDLY	00001400
-#define   NL0	00000000
-#define   NL1	00000400
-#define   NL2	00001000
-#define   NL3	00001400
-#define TABDLY	00006000
-#define   TAB0	00000000
-#define   TAB1	00002000
-#define   TAB2	00004000
-#define   TAB3	00006000
-#define   XTABS	00006000	/* required by POSIX to == TAB3 */
-#define CRDLY	00030000
-#define   CR0	00000000
-#define   CR1	00010000
-#define   CR2	00020000
-#define   CR3	00030000
-#define FFDLY	00040000
-#define   FF0	00000000
-#define   FF1	00040000
-#define BSDLY	00100000
-#define   BS0	00000000
-#define   BS1	00100000
-#define VTDLY	00200000
-#define   VT0	00000000
-#define   VT1	00200000
-
-/* c_cflag bit meaning */
-#define CBAUD	0000377
-#define  B0	0000000		/* hang up */
-#define  B50	0000001
-#define  B75	0000002
-#define  B110	0000003
-#define  B134	0000004
-#define  B150	0000005
-#define  B200	0000006
-#define  B300	0000007
-#define  B600	0000010
-#define  B1200	0000011
-#define  B1800	0000012
-#define  B2400	0000013
-#define  B4800	0000014
-#define  B9600	0000015
-#define  B19200	0000016
-#define  B38400	0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CBAUDEX 0000000
-#define  B57600   00020
-#define  B115200  00021
-#define  B230400  00022
-#define  B460800  00023
-#define  B500000  00024
-#define  B576000  00025
-#define  B921600  00026
-#define B1000000  00027
-#define B1152000  00030
-#define B1500000  00031
-#define B2000000  00032
-#define B2500000  00033
-#define B3000000  00034
-#define B3500000  00035
-#define B4000000  00036
-
-#define CSIZE	00001400
-#define   CS5	00000000
-#define   CS6	00000400
-#define   CS7	00001000
-#define   CS8	00001400
-
-#define CSTOPB	00002000
-#define CREAD	00004000
-#define PARENB	00010000
-#define PARODD	00020000
-#define HUPCL	00040000
-
-#define CLOCAL	00100000
-#define CRTSCTS	  020000000000		/* flow control */
-
-/* c_lflag bits */
-#define ISIG	0x00000080
-#define ICANON	0x00000100
-#define XCASE	0x00004000
-#define ECHO	0x00000008
-#define ECHOE	0x00000002
-#define ECHOK	0x00000004
-#define ECHONL	0x00000010
-#define NOFLSH	0x80000000
-#define TOSTOP	0x00400000
-#define ECHOCTL	0x00000040
-#define ECHOPRT	0x00000020
-#define ECHOKE	0x00000001
-#define FLUSHO	0x00800000
-#define PENDIN	0x20000000
-#define IEXTEN	0x00000400
-
-/* Values for the ACTION argument to `tcflow'.  */
-#define	TCOOFF		0
-#define	TCOON		1
-#define	TCIOFF		2
-#define	TCION		3
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
-#define	TCIFLUSH	0
-#define	TCOFLUSH	1
-#define	TCIOFLUSH	2
-
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
-
-#endif /* _PPC_TERMBITS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc/termios.h linus-powerpc.2/include/asm-ppc/termios.h
--- linus-powerpc.1a/include/asm-ppc/termios.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/termios.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,232 +0,0 @@
-#ifndef _PPC_TERMIOS_H
-#define _PPC_TERMIOS_H
-
-/*
- * Liberally adapted from alpha/termios.h.  In particular, the c_cc[]
- * fields have been reordered so that termio & termios share the
- * common subset in the same order (for brain dead programs that don't
- * know or care about the differences).
- */
-
-#include <asm/ioctls.h>
-#include <asm/termbits.h>
-
-struct sgttyb {
-	char	sg_ispeed;
-	char	sg_ospeed;
-	char	sg_erase;
-	char	sg_kill;
-	short	sg_flags;
-};
-
-struct tchars {
-	char	t_intrc;
-	char	t_quitc;
-	char	t_startc;
-	char	t_stopc;
-	char	t_eofc;
-	char	t_brkc;
-};
-
-struct ltchars {
-	char	t_suspc;
-	char	t_dsuspc;
-	char	t_rprntc;
-	char	t_flushc;
-	char	t_werasc;
-	char	t_lnextc;
-};
-
-#define FIOCLEX		_IO('f', 1)
-#define FIONCLEX	_IO('f', 2)
-#define FIOASYNC	_IOW('f', 125, int)
-#define FIONBIO		_IOW('f', 126, int)
-#define FIONREAD	_IOR('f', 127, int)
-#define TIOCINQ		FIONREAD
-#define FIOQSIZE	_IOR('f', 128, loff_t)
-
-#define TIOCGETP	_IOR('t', 8, struct sgttyb)
-#define TIOCSETP	_IOW('t', 9, struct sgttyb)
-#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
-
-#define TIOCSETC	_IOW('t', 17, struct tchars)
-#define TIOCGETC	_IOR('t', 18, struct tchars)
-#define TCGETS		_IOR('t', 19, struct termios)
-#define TCSETS		_IOW('t', 20, struct termios)
-#define TCSETSW		_IOW('t', 21, struct termios)
-#define TCSETSF		_IOW('t', 22, struct termios)
-
-#define TCGETA		_IOR('t', 23, struct termio)
-#define TCSETA		_IOW('t', 24, struct termio)
-#define TCSETAW		_IOW('t', 25, struct termio)
-#define TCSETAF		_IOW('t', 28, struct termio)
-
-#define TCSBRK		_IO('t', 29)
-#define TCXONC		_IO('t', 30)
-#define TCFLSH		_IO('t', 31)
-
-#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
-#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
-#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
-#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
-#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
-
-#define TIOCGLTC	_IOR('t', 116, struct ltchars)
-#define TIOCSLTC	_IOW('t', 117, struct ltchars)
-#define TIOCSPGRP	_IOW('t', 118, int)
-#define TIOCGPGRP	_IOR('t', 119, int)
-
-#define TIOCEXCL	0x540C
-#define TIOCNXCL	0x540D
-#define TIOCSCTTY	0x540E
-
-#define TIOCSTI		0x5412
-#define TIOCMGET	0x5415
-#define TIOCMBIS	0x5416
-#define TIOCMBIC	0x5417
-#define TIOCMSET	0x5418
-#define TIOCGSOFTCAR	0x5419
-#define TIOCSSOFTCAR	0x541A
-#define TIOCLINUX	0x541C
-#define TIOCCONS	0x541D
-#define TIOCGSERIAL	0x541E
-#define TIOCSSERIAL	0x541F
-#define TIOCPKT		0x5420
-
-#define TIOCNOTTY	0x5422
-#define TIOCSETD	0x5423
-#define TIOCGETD	0x5424
-#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
-
-#define TIOCSERCONFIG	0x5453
-#define TIOCSERGWILD	0x5454
-#define TIOCSERSWILD	0x5455
-#define TIOCGLCKTRMIOS	0x5456
-#define TIOCSLCKTRMIOS	0x5457
-#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
-#define TIOCSERGETLSR   0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
-#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA		 0
-#define TIOCPKT_FLUSHREAD	 1
-#define TIOCPKT_FLUSHWRITE	 2
-#define TIOCPKT_STOP		 4
-#define TIOCPKT_START		 8
-#define TIOCPKT_NOSTOP		16
-#define TIOCPKT_DOSTOP		32
-
-struct winsize {
-	unsigned short ws_row;
-	unsigned short ws_col;
-	unsigned short ws_xpixel;
-	unsigned short ws_ypixel;
-};
-
-#define NCC 10
-struct termio {
-	unsigned short c_iflag;		/* input mode flags */
-	unsigned short c_oflag;		/* output mode flags */
-	unsigned short c_cflag;		/* control mode flags */
-	unsigned short c_lflag;		/* local mode flags */
-	unsigned char c_line;		/* line discipline */
-	unsigned char c_cc[NCC];	/* control characters */
-};
-
-/* c_cc characters */
-#define _VINTR	0
-#define _VQUIT	1
-#define _VERASE	2
-#define _VKILL	3
-#define _VEOF	4
-#define _VMIN	5
-#define _VEOL	6
-#define _VTIME	7
-#define _VEOL2	8
-#define _VSWTC	9
-
-#ifdef __KERNEL__
-/*                   ^C  ^\ del  ^U  ^D   1   0   0   0   0  ^W  ^R  ^Z  ^Q  ^S  ^V  ^U  */
-#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025"
-#endif	/* __KERNEL__ */
-
-/* modem lines */
-#define TIOCM_LE	0x001
-#define TIOCM_DTR	0x002
-#define TIOCM_RTS	0x004
-#define TIOCM_ST	0x008
-#define TIOCM_SR	0x010
-#define TIOCM_CTS	0x020
-#define TIOCM_CAR	0x040
-#define TIOCM_RNG	0x080
-#define TIOCM_DSR	0x100
-#define TIOCM_CD	TIOCM_CAR
-#define TIOCM_RI	TIOCM_RNG
-#define TIOCM_OUT1	0x2000
-#define TIOCM_OUT2	0x4000
-#define TIOCM_LOOP	0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
-
-/* line disciplines */
-#define N_TTY		0
-#define N_SLIP		1
-#define N_MOUSE		2
-#define N_PPP		3
-#define N_STRIP		4
-#define N_AX25		5
-#define N_X25		6	/* X.25 async */
-#define N_6PACK		7
-#define N_MASC		8	/* Reserved for Mobitex module <kaz@cafe.net> */
-#define N_R3964		9	/* Reserved for Simatic R3964 module */
-#define N_PROFIBUS_FDL	10	/* Reserved for Profibus <Dave@mvhi.com> */
-#define N_IRDA		11	/* Linux IrDa - http://irda.sourceforge.net/ */
-#define N_SMSBLOCK	12	/* SMS block mode - for talking to GSM data cards about SMS messages */
-#define N_HDLC		13	/* synchronous HDLC */
-#define N_SYNC_PPP	14
-#define N_HCI		15  /* Bluetooth HCI UART */
-
-#ifdef __KERNEL__
-
-/*
- * Translate a "termio" structure into a "termios". Ugh.
- */
-#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
-	unsigned short __tmp; \
-	get_user(__tmp,&(termio)->x); \
-	(termios)->x = (0xffff0000 & (termios)->x) | __tmp; \
-}
-
-#define user_termio_to_kernel_termios(termios, termio) \
-({ \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
-	copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
-})
-
-/*
- * Translate a "termios" structure into a "termio". Ugh.
- */
-#define kernel_termios_to_user_termio(termio, termios) \
-({ \
-	put_user((termios)->c_iflag, &(termio)->c_iflag); \
-	put_user((termios)->c_oflag, &(termio)->c_oflag); \
-	put_user((termios)->c_cflag, &(termio)->c_cflag); \
-	put_user((termios)->c_lflag, &(termio)->c_lflag); \
-	put_user((termios)->c_line,  &(termio)->c_line); \
-	copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
-})
-
-#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))
-#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
-
-#endif	/* __KERNEL__ */
-
-#endif	/* _PPC_TERMIOS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc/unaligned.h linus-powerpc.2/include/asm-ppc/unaligned.h
--- linus-powerpc.1a/include/asm-ppc/unaligned.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc/unaligned.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,18 +0,0 @@
-#ifdef __KERNEL__
-#ifndef __PPC_UNALIGNED_H
-#define __PPC_UNALIGNED_H
-
-/*
- * The PowerPC can do unaligned accesses itself in big endian mode.
- *
- * The strange macros are there to make sure these can't
- * be misused in a way that makes them not work on other
- * architectures where unaligned accesses aren't as simple.
- */
-
-#define get_unaligned(ptr) (*(ptr))
-
-#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
-
-#endif
-#endif /* __KERNEL__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/div64.h linus-powerpc.2/include/asm-ppc64/div64.h
--- linus-powerpc.1a/include/asm-ppc64/div64.h	1970-01-01 10:00:00.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/div64.h	2005-06-27 16:08:08.000000000 +1000
@@ -0,0 +1 @@
+#include <asm-generic/div64.h>
diff -ruNp linus-powerpc.1a/include/asm-ppc64/errno.h linus-powerpc.2/include/asm-ppc64/errno.h
--- linus-powerpc.1a/include/asm-ppc64/errno.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/errno.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,18 +0,0 @@
-#ifndef _PPC64_ERRNO_H
-#define _PPC64_ERRNO_H
-
-/* 
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <asm-generic/errno.h>
-
-#undef	EDEADLOCK
-#define	EDEADLOCK	58	/* File locking deadlock error */
-
-#define _LAST_ERRNO	516
-
-#endif
diff -ruNp linus-powerpc.1a/include/asm-ppc64/ioctl.h linus-powerpc.2/include/asm-ppc64/ioctl.h
--- linus-powerpc.1a/include/asm-ppc64/ioctl.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/ioctl.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,74 +0,0 @@
-#ifndef _PPC64_IOCTL_H
-#define _PPC64_IOCTL_H
-
-
-/*
- * This was copied from the alpha as it's a bit cleaner there.
- *                         -- Cort
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define _IOC_NRBITS	8
-#define _IOC_TYPEBITS	8
-#define _IOC_SIZEBITS	13
-#define _IOC_DIRBITS	3
-
-#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT	0
-#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE	1U
-#define _IOC_READ	2U
-#define _IOC_WRITE	4U
-
-#define _IOC(dir,type,nr,size) \
-	(((dir)  << _IOC_DIRSHIFT) | \
-	 ((type) << _IOC_TYPESHIFT) | \
-	 ((nr)   << _IOC_NRSHIFT) | \
-	 ((size) << _IOC_SIZESHIFT))
-
-/* provoke compile error for invalid uses of size argument */
-extern unsigned int __invalid_size_argument_for_IOC;
-#define _IOC_TYPECHECK(t) \
-       ((sizeof(t) == sizeof(t[1]) && \
-         sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
-         sizeof(t) : __invalid_size_argument_for_IOC)
-
-/* used to create numbers */
-#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOR_BAD(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW_BAD(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR_BAD(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* various drivers, such as the pcmcia stuff, need these... */
-#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT)
-
-#endif /* _PPC64_IOCTL_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/ioctls.h linus-powerpc.2/include/asm-ppc64/ioctls.h
--- linus-powerpc.1a/include/asm-ppc64/ioctls.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/ioctls.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,114 +0,0 @@
-#ifndef _ASM_PPC64_IOCTLS_H
-#define _ASM_PPC64_IOCTLS_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <asm/ioctl.h>
-
-#define FIOCLEX		_IO('f', 1)
-#define FIONCLEX	_IO('f', 2)
-#define FIOASYNC	_IOW('f', 125, int)
-#define FIONBIO		_IOW('f', 126, int)
-#define FIONREAD	_IOR('f', 127, int)
-#define TIOCINQ		FIONREAD
-#define FIOQSIZE        _IOR('f', 128, loff_t)
-
-#define TIOCGETP	_IOR('t', 8, struct sgttyb)
-#define TIOCSETP	_IOW('t', 9, struct sgttyb)
-#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
-
-#define TIOCSETC	_IOW('t', 17, struct tchars)
-#define TIOCGETC	_IOR('t', 18, struct tchars)
-#define TCGETS		_IOR('t', 19, struct termios)
-#define TCSETS		_IOW('t', 20, struct termios)
-#define TCSETSW		_IOW('t', 21, struct termios)
-#define TCSETSF		_IOW('t', 22, struct termios)
-
-#define TCGETA		_IOR('t', 23, struct termio)
-#define TCSETA		_IOW('t', 24, struct termio)
-#define TCSETAW		_IOW('t', 25, struct termio)
-#define TCSETAF		_IOW('t', 28, struct termio)
-
-#define TCSBRK		_IO('t', 29)
-#define TCXONC		_IO('t', 30)
-#define TCFLSH		_IO('t', 31)
-
-#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
-#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
-#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
-#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
-#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
-
-#define TIOCGLTC	_IOR('t', 116, struct ltchars)
-#define TIOCSLTC	_IOW('t', 117, struct ltchars)
-#define TIOCSPGRP	_IOW('t', 118, int)
-#define TIOCGPGRP	_IOR('t', 119, int)
-
-#define TIOCEXCL	0x540C
-#define TIOCNXCL	0x540D
-#define TIOCSCTTY	0x540E
-
-#define TIOCSTI		0x5412
-#define TIOCMGET	0x5415
-#define TIOCMBIS	0x5416
-#define TIOCMBIC	0x5417
-#define TIOCMSET	0x5418
-# define TIOCM_LE	0x001
-# define TIOCM_DTR	0x002
-# define TIOCM_RTS	0x004
-# define TIOCM_ST	0x008
-# define TIOCM_SR	0x010
-# define TIOCM_CTS	0x020
-# define TIOCM_CAR	0x040
-# define TIOCM_RNG	0x080
-# define TIOCM_DSR	0x100
-# define TIOCM_CD	TIOCM_CAR
-# define TIOCM_RI	TIOCM_RNG
-
-#define TIOCGSOFTCAR	0x5419
-#define TIOCSSOFTCAR	0x541A
-#define TIOCLINUX	0x541C
-#define TIOCCONS	0x541D
-#define TIOCGSERIAL	0x541E
-#define TIOCSSERIAL	0x541F
-#define TIOCPKT		0x5420
-# define TIOCPKT_DATA		 0
-# define TIOCPKT_FLUSHREAD	 1
-# define TIOCPKT_FLUSHWRITE	 2
-# define TIOCPKT_STOP		 4
-# define TIOCPKT_START		 8
-# define TIOCPKT_NOSTOP		16
-# define TIOCPKT_DOSTOP		32
-
-
-#define TIOCNOTTY	0x5422
-#define TIOCSETD	0x5423
-#define TIOCGETD	0x5424
-#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
-#define TIOCSBRK	0x5427  /* BSD compatibility */
-#define TIOCCBRK	0x5428  /* BSD compatibility */
-#define TIOCGSID	0x5429  /* Return the session ID of FD */
-#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG	0x5453
-#define TIOCSERGWILD	0x5454
-#define TIOCSERSWILD	0x5455
-#define TIOCGLCKTRMIOS	0x5456
-#define TIOCSLCKTRMIOS	0x5457
-#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
-#define TIOCSERGETLSR   0x5459 /* Get line status register */
-  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
-#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
-
-#endif /* _ASM_PPC64_IOCTLS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/local.h linus-powerpc.2/include/asm-ppc64/local.h
--- linus-powerpc.1a/include/asm-ppc64/local.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/local.h	1970-01-01 10:00:00.000000000 +1000
@@ -1 +0,0 @@
-#include <asm-generic/local.h>
diff -ruNp linus-powerpc.1a/include/asm-ppc64/mman.h linus-powerpc.2/include/asm-ppc64/mman.h
--- linus-powerpc.1a/include/asm-ppc64/mman.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/mman.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,52 +0,0 @@
-#ifndef __PPC64_MMAN_H__
-#define __PPC64_MMAN_H__
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define PROT_READ	0x1		/* page can be read */
-#define PROT_WRITE	0x2		/* page can be written */
-#define PROT_EXEC	0x4		/* page can be executed */
-#define PROT_SEM	0x8		/* page may be used for atomic ops */
-#define PROT_NONE	0x0		/* page can not be accessed */
-#define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
-#define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
-
-#define MAP_SHARED	0x01		/* Share changes */
-#define MAP_PRIVATE	0x02		/* Changes are private */
-#define MAP_TYPE	0x0f		/* Mask for type of mapping */
-#define MAP_FIXED	0x10		/* Interpret addr exactly */
-#define MAP_ANONYMOUS	0x20		/* don't use a file */
-#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
-#define MAP_NORESERVE   0x40            /* don't reserve swap pages */
-#define MAP_LOCKED	0x80
-
-#define MAP_GROWSDOWN	0x0100		/* stack-like segment */
-#define MAP_DENYWRITE	0x0800		/* ETXTBSY */
-#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
-
-#define MS_ASYNC	1		/* sync memory asynchronously */
-#define MS_INVALIDATE	2		/* invalidate the caches */
-#define MS_SYNC		4		/* synchronous memory sync */
-
-#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
-#define MCL_FUTURE      0x4000          /* lock all additions to address space */
-
-#define MAP_POPULATE	0x8000		/* populate (prefault) pagetables */
-#define MAP_NONBLOCK	0x10000		/* do not block on IO */
-
-#define MADV_NORMAL	0x0		/* default page-in behavior */
-#define MADV_RANDOM	0x1		/* page-in minimum required */
-#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */
-#define MADV_WILLNEED	0x3		/* pre-fault pages */
-#define MADV_DONTNEED	0x4		/* discard these pages */
-
-/* compatibility flags */
-#define MAP_ANON	MAP_ANONYMOUS
-#define MAP_FILE	0
-
-#endif /* __PPC64_MMAN_H__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/param.h linus-powerpc.2/include/asm-ppc64/param.h
--- linus-powerpc.1a/include/asm-ppc64/param.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/param.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,29 +0,0 @@
-#ifndef _ASM_PPC64_PARAM_H
-#define _ASM_PPC64_PARAM_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifdef __KERNEL__
-# define HZ		1000		/* Internal kernel timer frequency */
-# define USER_HZ	100		/* .. some user interfaces are in "ticks" */
-# define CLOCKS_PER_SEC	(USER_HZ)	/* like times() */
-#endif
-
-#ifndef HZ
-#define HZ 100
-#endif
-
-#define EXEC_PAGESIZE	4096
-
-#ifndef NOGROUP
-#define NOGROUP		(-1)
-#endif
-
-#define MAXHOSTNAMELEN	64	/* max length of hostname */
-
-#endif /* _ASM_PPC64_PARAM_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/parport.h linus-powerpc.2/include/asm-ppc64/parport.h
--- linus-powerpc.1a/include/asm-ppc64/parport.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/parport.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,18 +0,0 @@
-/*
- * parport.h: platform-specific PC-style parport initialisation
- *
- * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * This file should only be included by drivers/parport/parport_pc.c.
- */
-
-#ifndef _ASM_PPC64_PARPORT_H
-#define _ASM_PPC64_PARPORT_H
-
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
-static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
-{
-	return parport_pc_find_isa_ports (autoirq, autodma);
-}
-
-#endif /* !(_ASM_PPC_PARPORT_H) */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/percpu.h linus-powerpc.2/include/asm-ppc64/percpu.h
--- linus-powerpc.1a/include/asm-ppc64/percpu.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/percpu.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef __ARCH_PPC64_PERCPU__
-#define __ARCH_PPC64_PERCPU__
-
-#include <asm-generic/percpu.h>
-
-#endif /* __ARCH_PPC64_PERCPU__ */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/poll.h linus-powerpc.2/include/asm-ppc64/poll.h
--- linus-powerpc.1a/include/asm-ppc64/poll.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/poll.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,32 +0,0 @@
-#ifndef __PPC64_POLL_H
-#define __PPC64_POLL_H
-
-/*
- * Copyright (C) 2001 PPC64 Team, IBM Corp
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define POLLIN		0x0001
-#define POLLPRI		0x0002
-#define POLLOUT		0x0004
-#define POLLERR		0x0008
-#define POLLHUP		0x0010
-#define POLLNVAL	0x0020
-#define POLLRDNORM	0x0040
-#define POLLRDBAND	0x0080
-#define POLLWRNORM	0x0100
-#define POLLWRBAND	0x0200
-#define POLLMSG		0x0400
-#define POLLREMOVE	0x1000
-
-struct pollfd {
-	int fd;
-	short events;
-	short revents;
-};
-
-#endif /* __PPC64_POLL_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/resource.h linus-powerpc.2/include/asm-ppc64/resource.h
--- linus-powerpc.1a/include/asm-ppc64/resource.h	2005-06-27 16:08:08.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/resource.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,6 +0,0 @@
-#ifndef _PPC64_RESOURCE_H
-#define _PPC64_RESOURCE_H
-
-#include <asm-generic/resource.h>
-
-#endif /* _PPC64_RESOURCE_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/shmparam.h linus-powerpc.2/include/asm-ppc64/shmparam.h
--- linus-powerpc.1a/include/asm-ppc64/shmparam.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/shmparam.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,13 +0,0 @@
-#ifndef _PPC64_SHMPARAM_H
-#define _PPC64_SHMPARAM_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define	SHMLBA PAGE_SIZE		 /* attach addr a multiple of this */
-
-#endif /* _PPC64_SHMPARAM_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/string.h linus-powerpc.2/include/asm-ppc64/string.h
--- linus-powerpc.1a/include/asm-ppc64/string.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/string.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,35 +0,0 @@
-#ifndef _PPC64_STRING_H_
-#define _PPC64_STRING_H_
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define __HAVE_ARCH_STRCPY
-#define __HAVE_ARCH_STRNCPY
-#define __HAVE_ARCH_STRLEN
-#define __HAVE_ARCH_STRCMP
-#define __HAVE_ARCH_STRCAT
-#define __HAVE_ARCH_MEMSET
-#define __HAVE_ARCH_MEMCPY
-#define __HAVE_ARCH_MEMMOVE
-#define __HAVE_ARCH_MEMCMP
-#define __HAVE_ARCH_MEMCHR
-
-extern int strcasecmp(const char *, const char *);
-extern int strncasecmp(const char *, const char *, int);
-extern char * strcpy(char *,const char *);
-extern char * strncpy(char *,const char *, __kernel_size_t);
-extern __kernel_size_t strlen(const char *);
-extern int strcmp(const char *,const char *);
-extern char * strcat(char *, const char *);
-extern void * memset(void *,int,__kernel_size_t);
-extern void * memcpy(void *,const void *,__kernel_size_t);
-extern void * memmove(void *,const void *,__kernel_size_t);
-extern int memcmp(const void *,const void *,__kernel_size_t);
-extern void * memchr(const void *,int,__kernel_size_t);
-
-#endif /* _PPC64_STRING_H_ */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/termbits.h linus-powerpc.2/include/asm-ppc64/termbits.h
--- linus-powerpc.1a/include/asm-ppc64/termbits.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/termbits.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,193 +0,0 @@
-#ifndef _PPC64_TERMBITS_H
-#define _PPC64_TERMBITS_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <linux/posix_types.h>
-
-typedef unsigned char	cc_t;
-typedef unsigned int	speed_t;
-typedef unsigned int	tcflag_t;
-
-/*
- * termios type and macro definitions.  Be careful about adding stuff
- * to this file since it's used in GNU libc and there are strict rules
- * concerning namespace pollution.
- */
-
-#define NCCS 19
-struct termios {
-	tcflag_t c_iflag;		/* input mode flags */
-	tcflag_t c_oflag;		/* output mode flags */
-	tcflag_t c_cflag;		/* control mode flags */
-	tcflag_t c_lflag;		/* local mode flags */
-	cc_t c_cc[NCCS];		/* control characters */
-	cc_t c_line;			/* line discipline (== c_cc[19]) */
-	speed_t c_ispeed;		/* input speed */
-	speed_t c_ospeed;		/* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 	         0
-#define VQUIT 	         1
-#define VERASE 	         2
-#define VKILL	         3
-#define VEOF	         4
-#define VMIN	         5
-#define VEOL	         6
-#define VTIME	         7
-#define VEOL2	         8
-#define VSWTC	         9
-#define VWERASE 	10
-#define VREPRINT	11
-#define VSUSP 		12
-#define VSTART		13
-#define VSTOP		14
-#define VLNEXT		15
-#define VDISCARD	16
-
-/* c_iflag bits */
-#define IGNBRK	0000001
-#define BRKINT	0000002
-#define IGNPAR	0000004
-#define PARMRK	0000010
-#define INPCK	0000020
-#define ISTRIP	0000040
-#define INLCR	0000100
-#define IGNCR	0000200
-#define ICRNL	0000400
-#define IXON	0001000
-#define IXOFF	0002000
-#define IXANY	0004000
-#define IUCLC	0010000
-#define IMAXBEL	0020000
-#define	IUTF8	0040000
-
-/* c_oflag bits */
-#define OPOST	0000001
-#define ONLCR	0000002
-#define OLCUC	0000004
-
-#define OCRNL	0000010
-#define ONOCR	0000020
-#define ONLRET	0000040
-
-#define OFILL	00000100
-#define OFDEL	00000200
-#define NLDLY	00001400
-#define   NL0	00000000
-#define   NL1	00000400
-#define   NL2	00001000
-#define   NL3	00001400
-#define TABDLY	00006000
-#define   TAB0	00000000
-#define   TAB1	00002000
-#define   TAB2	00004000
-#define   TAB3	00006000
-#define   XTABS	00006000	/* required by POSIX to == TAB3 */
-#define CRDLY	00030000
-#define   CR0	00000000
-#define   CR1	00010000
-#define   CR2	00020000
-#define   CR3	00030000
-#define FFDLY	00040000
-#define   FF0	00000000
-#define   FF1	00040000
-#define BSDLY	00100000
-#define   BS0	00000000
-#define   BS1	00100000
-#define VTDLY	00200000
-#define   VT0	00000000
-#define   VT1	00200000
-
-/* c_cflag bit meaning */
-#define CBAUD	0000377
-#define  B0	0000000		/* hang up */
-#define  B50	0000001
-#define  B75	0000002
-#define  B110	0000003
-#define  B134	0000004
-#define  B150	0000005
-#define  B200	0000006
-#define  B300	0000007
-#define  B600	0000010
-#define  B1200	0000011
-#define  B1800	0000012
-#define  B2400	0000013
-#define  B4800	0000014
-#define  B9600	0000015
-#define  B19200	0000016
-#define  B38400	0000017
-#define  EXTA   B19200
-#define  EXTB   B38400
-#define  CBAUDEX 0000000
-#define  B57600   00020
-#define  B115200  00021
-#define  B230400  00022
-#define  B460800  00023
-#define  B500000  00024
-#define  B576000  00025
-#define  B921600  00026
-#define B1000000  00027
-#define B1152000  00030
-#define B1500000  00031
-#define B2000000  00032
-#define B2500000  00033
-#define B3000000  00034
-#define B3500000  00035
-#define B4000000  00036
-
-#define CSIZE	00001400
-#define   CS5	00000000
-#define   CS6	00000400
-#define   CS7	00001000
-#define   CS8	00001400
-
-#define CSTOPB	00002000
-#define CREAD	00004000
-#define PARENB	00010000
-#define PARODD	00020000
-#define HUPCL	00040000
-
-#define CLOCAL	00100000
-#define CRTSCTS	  020000000000		/* flow control */
-
-/* c_lflag bits */
-#define ISIG	0x00000080
-#define ICANON	0x00000100
-#define XCASE	0x00004000
-#define ECHO	0x00000008
-#define ECHOE	0x00000002
-#define ECHOK	0x00000004
-#define ECHONL	0x00000010
-#define NOFLSH	0x80000000
-#define TOSTOP	0x00400000
-#define ECHOCTL	0x00000040
-#define ECHOPRT	0x00000020
-#define ECHOKE	0x00000001
-#define FLUSHO	0x00800000
-#define PENDIN	0x20000000
-#define IEXTEN	0x00000400
-
-/* Values for the ACTION argument to `tcflow'.  */
-#define	TCOOFF		0
-#define	TCOON		1
-#define	TCIOFF		2
-#define	TCION		3
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
-#define	TCIFLUSH	0
-#define	TCOFLUSH	1
-#define	TCIOFLUSH	2
-
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
-
-#endif /* _PPC64_TERMBITS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/termios.h linus-powerpc.2/include/asm-ppc64/termios.h
--- linus-powerpc.1a/include/asm-ppc64/termios.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/termios.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,235 +0,0 @@
-#ifndef _PPC64_TERMIOS_H
-#define _PPC64_TERMIOS_H
-
-/*
- * Liberally adapted from alpha/termios.h.  In particular, the c_cc[]
- * fields have been reordered so that termio & termios share the
- * common subset in the same order (for brain dead programs that don't
- * know or care about the differences).
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <asm/ioctls.h>
-#include <asm/termbits.h>
-
-struct sgttyb {
-	char	sg_ispeed;
-	char	sg_ospeed;
-	char	sg_erase;
-	char	sg_kill;
-	short	sg_flags;
-};
-
-struct tchars {
-	char	t_intrc;
-	char	t_quitc;
-	char	t_startc;
-	char	t_stopc;
-	char	t_eofc;
-	char	t_brkc;
-};
-
-struct ltchars {
-	char	t_suspc;
-	char	t_dsuspc;
-	char	t_rprntc;
-	char	t_flushc;
-	char	t_werasc;
-	char	t_lnextc;
-};
-
-struct winsize {
-	unsigned short ws_row;
-	unsigned short ws_col;
-	unsigned short ws_xpixel;
-	unsigned short ws_ypixel;
-};
-
-#define NCC 10
-struct termio {
-	unsigned short c_iflag;		/* input mode flags */
-	unsigned short c_oflag;		/* output mode flags */
-	unsigned short c_cflag;		/* control mode flags */
-	unsigned short c_lflag;		/* local mode flags */
-	unsigned char c_line;		/* line discipline */
-	unsigned char c_cc[NCC];	/* control characters */
-};
-
-/* c_cc characters */
-#define _VINTR	0
-#define _VQUIT	1
-#define _VERASE	2
-#define _VKILL	3
-#define _VEOF	4
-#define _VMIN	5
-#define _VEOL	6
-#define _VTIME	7
-#define _VEOL2	8
-#define _VSWTC	9
-
-/* line disciplines */
-#define N_TTY		0
-#define N_SLIP		1
-#define N_MOUSE		2
-#define N_PPP		3
-#define N_STRIP		4
-#define N_AX25		5
-#define N_X25		6	/* X.25 async */
-#define N_6PACK		7
-#define N_MASC		8	/* Reserved for Mobitex module <kaz@cafe.net> */
-#define N_R3964		9	/* Reserved for Simatic R3964 module */
-#define N_PROFIBUS_FDL	10	/* Reserved for Profibus <Dave@mvhi.com> */
-#define N_IRDA		11	/* Linux IrDa - http://www.cs.uit.no/~dagb/irda/irda.html */
-#define N_SMSBLOCK	12	/* SMS block mode - for talking to GSM data cards about SMS messages */
-#define N_HDLC		13	/* synchronous HDLC */
-#define N_SYNC_PPP	14
-
-#ifdef __KERNEL__
-/*                   ^C  ^\ del  ^U  ^D   1   0   0   0   0  ^W  ^R  ^Z  ^Q  ^S  ^V  ^U  */
-#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025" 
-#endif
-
-#define FIOCLEX		_IO('f', 1)
-#define FIONCLEX	_IO('f', 2)
-#define FIOASYNC	_IOW('f', 125, int)
-#define FIONBIO		_IOW('f', 126, int)
-#define FIONREAD	_IOR('f', 127, int)
-#define TIOCINQ		FIONREAD
-
-#define TIOCGETP	_IOR('t', 8, struct sgttyb)
-#define TIOCSETP	_IOW('t', 9, struct sgttyb)
-#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
-
-#define TIOCSETC	_IOW('t', 17, struct tchars)
-#define TIOCGETC	_IOR('t', 18, struct tchars)
-#define TCGETS		_IOR('t', 19, struct termios)
-#define TCSETS		_IOW('t', 20, struct termios)
-#define TCSETSW		_IOW('t', 21, struct termios)
-#define TCSETSF		_IOW('t', 22, struct termios)
-
-#define TCGETA		_IOR('t', 23, struct termio)
-#define TCSETA		_IOW('t', 24, struct termio)
-#define TCSETAW		_IOW('t', 25, struct termio)
-#define TCSETAF		_IOW('t', 28, struct termio)
-
-#define TCSBRK		_IO('t', 29)
-#define TCXONC		_IO('t', 30)
-#define TCFLSH		_IO('t', 31)
-
-#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
-#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
-#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
-#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
-#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
-
-#define TIOCGLTC	_IOR('t', 116, struct ltchars)
-#define TIOCSLTC	_IOW('t', 117, struct ltchars)
-#define TIOCSPGRP	_IOW('t', 118, int)
-#define TIOCGPGRP	_IOR('t', 119, int)
-
-#define TIOCEXCL	0x540C
-#define TIOCNXCL	0x540D
-#define TIOCSCTTY	0x540E
-
-#define TIOCSTI		0x5412
-#define TIOCMGET	0x5415
-#define TIOCMBIS	0x5416
-#define TIOCMBIC	0x5417
-#define TIOCMSET	0x5418
-#define TIOCGSOFTCAR	0x5419
-#define TIOCSSOFTCAR	0x541A
-#define TIOCLINUX	0x541C
-#define TIOCCONS	0x541D
-#define TIOCGSERIAL	0x541E
-#define TIOCSSERIAL	0x541F
-#define TIOCPKT		0x5420
-
-#define TIOCNOTTY	0x5422
-#define TIOCSETD	0x5423
-#define TIOCGETD	0x5424
-#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
-
-#define TIOCSERCONFIG	0x5453
-#define TIOCSERGWILD	0x5454
-#define TIOCSERSWILD	0x5455
-#define TIOCGLCKTRMIOS	0x5456
-#define TIOCSLCKTRMIOS	0x5457
-#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
-#define TIOCSERGETLSR   0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
-#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA		 0
-#define TIOCPKT_FLUSHREAD	 1
-#define TIOCPKT_FLUSHWRITE	 2
-#define TIOCPKT_STOP		 4
-#define TIOCPKT_START		 8
-#define TIOCPKT_NOSTOP		16
-#define TIOCPKT_DOSTOP		32
-
-/* modem lines */
-#define TIOCM_LE	0x001
-#define TIOCM_DTR	0x002
-#define TIOCM_RTS	0x004
-#define TIOCM_ST	0x008
-#define TIOCM_SR	0x010
-#define TIOCM_CTS	0x020
-#define TIOCM_CAR	0x040
-#define TIOCM_RNG	0x080
-#define TIOCM_DSR	0x100
-#define TIOCM_CD	TIOCM_CAR
-#define TIOCM_RI	TIOCM_RNG
-#define TIOCM_OUT1	0x2000
-#define TIOCM_OUT2	0x4000
-#define TIOCM_LOOP	0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
-
-#ifdef __KERNEL__
-
-/*
- * Translate a "termio" structure into a "termios". Ugh.
- */
-#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
-	unsigned short __tmp; \
-	get_user(__tmp,&(termio)->x); \
-	(termios)->x = (0xffff0000 & (termios)->x) | __tmp; \
-}
-
-#define user_termio_to_kernel_termios(termios, termio) \
-({ \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
-	SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
-	copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
-})
-
-/*
- * Translate a "termios" structure into a "termio". Ugh.
- */
-#define kernel_termios_to_user_termio(termio, termios) \
-({ \
-	put_user((termios)->c_iflag, &(termio)->c_iflag); \
-	put_user((termios)->c_oflag, &(termio)->c_oflag); \
-	put_user((termios)->c_cflag, &(termio)->c_cflag); \
-	put_user((termios)->c_lflag, &(termio)->c_lflag); \
-	put_user((termios)->c_line,  &(termio)->c_line); \
-	copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
-})
-
-#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))
-#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
-
-#endif	/* __KERNEL__ */
-
-#endif	/* _PPC64_TERMIOS_H */
diff -ruNp linus-powerpc.1a/include/asm-ppc64/unaligned.h linus-powerpc.2/include/asm-ppc64/unaligned.h
--- linus-powerpc.1a/include/asm-ppc64/unaligned.h	2005-06-27 17:55:59.000000000 +1000
+++ linus-powerpc.2/include/asm-ppc64/unaligned.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,21 +0,0 @@
-#ifndef __PPC64_UNALIGNED_H
-#define __PPC64_UNALIGNED_H
-
-/*
- * The PowerPC can do unaligned accesses itself in big endian mode. 
- *
- * The strange macros are there to make sure these can't
- * be misused in a way that makes them not work on other
- * architectures where unaligned accesses aren't as simple.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define get_unaligned(ptr) (*(ptr))
-
-#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
-
-#endif /* __PPC64_UNALIGNED_H */

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
  2005-08-05  7:50     ` [PATCH] 2/2 merge the easy ones Stephen Rothwell
@ 2005-08-05  8:37     ` Stephen Rothwell
  2005-08-05  9:08     ` Michael Ellerman
                       ` (2 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Stephen Rothwell @ 2005-08-05  8:37 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: linuxppc-dev

On Fri, 5 Aug 2005 17:47:05 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> for i in *
> do
> 	[ -f ../asm-ppc64/$i ] && cmp -s $i ../asm-ppc64/$i &&
> 		mv $i ../asm-powerpc/$i && rm ../asm-ppc64/$i
> done

note to self:  Never modify stuff in an email :-(
that should be

[While in .../asm-ppc64 ]

for i in *
do
	[ -f ../asm-ppc/$i ] && cmp -s $i ../asm-ppc/$i &&
		mv $i ../asm-powerpc/$i && rm ../asm-ppc/$i
done

Sorry about that!
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
  2005-08-05  7:50     ` [PATCH] 2/2 merge the easy ones Stephen Rothwell
  2005-08-05  8:37     ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
@ 2005-08-05  9:08     ` Michael Ellerman
  2005-08-05 11:53     ` Arnd Bergmann
  2005-08-17  5:39     ` Kumar Gala
  4 siblings, 0 replies; 21+ messages in thread
From: Michael Ellerman @ 2005-08-05  9:08 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: Stephen Rothwell, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

And for the faint of heart there's a patch at:

http://michael.ellerman.id.au/files/misc/header-merge.patch

cheers

On Fri, 5 Aug 2005 17:47, Stephen Rothwell wrote:
> On Tue, 2 Aug 2005 19:10:56 -0400 Dan Malek <dan@embeddededge.com> wrote:
> > On Aug 2, 2005, at 6:59 PM, Jon Loeliger wrote:
> > > ..... A stub is left
> > > in asm-ppc and asm-ppc64 pointing to the unified files.
> >
> > Why bother?  You may as well change all of the source
> > files, too, or else that will never get done :-)
>
> You actually don't need to modify (m)any source files.
>
> Here is an alternative approach.  These patches depend on Olaf's
> boot code cleanup for ppc64 (or similar).  Do the following:
>
> cd linux/include
> mkdir asm-powerpc
> cd asm-ppc
> for i in *
> do
> 	[ -e ../asm-ppc64/$i ] || mv $i ../asm-powerpc/$i
> done
> cd ../asm-ppc64
> for i in *
> do
> 	[ -e ../asm-ppc/$i ] || mv $i ../asm-powerpc/$i
> done
> for i in *
> do
> 	[ -f ../asm-ppc64/$i ] && cmp -s $i ../asm-ppc64/$i &&
> 		mv $i ../asm-powerpc/$i && rm ../asm-ppc64/$i
> done
>
> Then apply the patch below and the patch in the following email.
>
> I have built this kernel for ppc (defconfig), ppc64 (iSeries, pSeries and
> pmac).

-- 
Michael Ellerman
IBM OzLabs

email: michael:ellerman.id.au
inmsg: mpe:jabber.org
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
                       ` (2 preceding siblings ...)
  2005-08-05  9:08     ` Michael Ellerman
@ 2005-08-05 11:53     ` Arnd Bergmann
  2005-08-05 14:59       ` Stephen Rothwell
  2005-08-17  5:39     ` Kumar Gala
  4 siblings, 1 reply; 21+ messages in thread
From: Arnd Bergmann @ 2005-08-05 11:53 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: Stephen Rothwell, linuxppc-dev

On Freedag 05 August 2005 09:47, Stephen Rothwell wrote:
> cd linux/include
> mkdir asm-powerpc
> cd asm-ppc
> for i in *
> do
> =A0=A0=A0=A0=A0=A0=A0=A0[ -e ../asm-ppc64/$i ] || mv $i ../asm-powerpc/$i
> done
> cd ../asm-ppc64
> for i in *
> do
> =A0=A0=A0=A0=A0=A0=A0=A0[ -e ../asm-ppc/$i ] || mv $i ../asm-powerpc/$i
> done

While I really like your approach in general (I've done it the
same way when merging asm-s390{,x]), I think we should take
a little care to move only the files that we really want in
asm/powerpc.
E.g, most of the files that are in asm-ppc but not in asm-ppc64
seem so be board-specific or cpu-specific, so I'd not move them
around before (unless) moving the platform code for those as well.

Also, for everything below include/asm-ppc64/iSeries, it would
make sense to rename the files to lowercase in the same
step and change all their users.

> for i in *
> do
> =A0=A0=A0=A0=A0=A0=A0=A0[ -f ../asm-ppc64/$i ] && cmp -s $i ../asm-ppc64/=
$i &&
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0mv $i ../asm-powerpc/$i &=
& rm ../asm-ppc64/$i
> done

Another help for merging further is to do=20

for i in `ls include/asm-ppc` ; do=20
	if [ -e include/asm-ppc64/$i ] ; then
		diff --ifdef __powerpc64__ include/asm-{ppc,ppc64}/$i > \
			include/asm-generic/$i ;
	fi
done

Note that you need to hand-edit practically every file that you get from
this, but many of them become trivial to merge.

Another interesting point about it is which define to use. For s390, we
decided to '#ifdef __s390x__' rather than '#ifdef CONFIG_ARCH_S390X' or
'ifdef CONFIG_64BIT', because CONFIG_* does not work when including the
headers from user space.
Using CONFIG_64BIT instead of __powerpc64__ only within #ifdef __KERNEL__
would be correct but less consistant.

	Arnd <><

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05 11:53     ` Arnd Bergmann
@ 2005-08-05 14:59       ` Stephen Rothwell
  2005-08-05 16:24         ` Arnd Bergmann
  2005-08-26 20:55         ` Jon Loeliger
  0 siblings, 2 replies; 21+ messages in thread
From: Stephen Rothwell @ 2005-08-05 14:59 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linuxppc64-dev, linuxppc-dev

Hi Arnd,

On Fri, 5 Aug 2005 13:53:22 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
>
> While I really like your approach in general (I've done it the
> same way when merging asm-s390{,x]), I think we should take
> a little care to move only the files that we really want in
> asm/powerpc.

Sure, this was just a first pass - really to demonstrate that we
can remove header files from their original directories as we go.

> E.g, most of the files that are in asm-ppc but not in asm-ppc64
> seem so be board-specific or cpu-specific, so I'd not move them
> around before (unless) moving the platform code for those as well.

Indeed.

> Also, for everything below include/asm-ppc64/iSeries, it would
> make sense to rename the files to lowercase in the same
> step and change all their users.

That would definitely be a separate set of patches (those include
files are referenced in 47 different files).

> Another help for merging further is to do 
> 
> for i in `ls include/asm-ppc` ; do 
> 	if [ -e include/asm-ppc64/$i ] ; then
> 		diff --ifdef __powerpc64__ include/asm-{ppc,ppc64}/$i > \
> 			include/asm-generic/$i ;
                                    ^^^^^^^
(I assume you meant powerpc as we are not the generic architecture, yet :-))

> 	fi
> done
> 
> Note that you need to hand-edit practically every file that you get from
> this, but many of them become trivial to merge.

I'll have a go and see what happens.

> Another interesting point about it is which define to use. For s390, we
> decided to '#ifdef __s390x__' rather than '#ifdef CONFIG_ARCH_S390X' or
> 'ifdef CONFIG_64BIT', because CONFIG_* does not work when including the
> headers from user space.

Well noone should even include kernel headers from user space :-) and my
understanding is that glibc "sanitizes" its version of the kernel headers
anyway.

> Using CONFIG_64BIT instead of __powerpc64__ only within #ifdef __KERNEL__
> would be correct but less consistant.

The advantage of using CONFIG_64BIT as much as possible is that it shows
us places that can be consolidated across the various architectures
(which is a bit of a passion of mine :-)).  And more consolidation should
make life easier for the glibc folks in the long run.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05 14:59       ` Stephen Rothwell
@ 2005-08-05 16:24         ` Arnd Bergmann
  2005-08-26 20:55         ` Jon Loeliger
  1 sibling, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2005-08-05 16:24 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linuxppc64-dev, linuxppc-dev

On Freedag 05 August 2005 16:59, Stephen Rothwell wrote:

> Well noone should even include kernel headers from user space :-) and my
> understanding is that glibc "sanitizes" its version of the kernel headers
> anyway.

Glibc doesn't change the header files too much, most of that is done in
the linux-libc-headers package, which is maintained separately from the
kernel and from glibc. There is some effort being put into keeping the
difference between that package and the kernel headers small.

Also, while using kernel headers directly from user space should be
considered a bug, Linus has stated before that he wants source code
that is broken in that way to keep working instead of breaking it
even more.

There is also klibc, which heavily relies on kernel headers by design.

> > Using CONFIG_64BIT instead of __powerpc64__ only within #ifdef __KERNEL=
__
> > would be correct but less consistant.
>=20
> The advantage of using CONFIG_64BIT as much as possible is that it shows
> us places that can be consolidated across the various architectures
> (which is a bit of a passion of mine :-)). =A0And more consolidation shou=
ld
> make life easier for the glibc folks in the long run.

AFAIK, in linux-libc-headers every usage of CONFIG_* outside of __KERNEL__
is a bug that needs to be fixed by the maintainer, so we really should not
do that.

I think it might be ok to use CONFIG_64BIT for files that are completely
inside #ifdef __KERNEL__, but I'd like to avoid stuff like:

#ifndef __powerpc64__
#define __NR_sendfile64=AD=AD		226 /* only for 32 bit */
#endif /* __powerpc64__ */
=2E..
#ifdef __KERNEL__
#ifndef CONFIG_64BIT
#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
#else  /* CONFIG_64BIT */
#define cond_syscall(x) asm(".weak\t." #x "\n\t.set\t." #x ",.sys_ni_syscal=
l")
#endif /* CONFIG_64BIT */
#endif /* __KERNEL__ */

in a single file. Using __powerpc64__ consistantly has the advantage that
the casual reader can easily find all places that rely on 32/64 bit
definitions without having to understand why there are two different ways
to do the same thing.

Perhaps it works out better if this is combined with the split into
include/asm-powerpc/ and include/asm-powerpc/user, as mentioned in the
thread around http://www.ussg.iu.edu/hypermail/linux/kernel/0411.3/1663.htm=
l.
Then we could have CONFIG_64BIT everywhere in the real kernel headers and
__powerpc64__ in the user interface headers.

	Arnd <><

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
                       ` (3 preceding siblings ...)
  2005-08-05 11:53     ` Arnd Bergmann
@ 2005-08-17  5:39     ` Kumar Gala
  2005-08-17 11:05       ` Arnd Bergmann
  4 siblings, 1 reply; 21+ messages in thread
From: Kumar Gala @ 2005-08-17  5:39 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linuxppc64-dev, linuxppc-dev


On Aug 5, 2005, at 2:47 AM, Stephen Rothwell wrote:

> On Tue, 2 Aug 2005 19:10:56 -0400 Dan Malek <dan@embeddededge.com>
> wrote:
>
>>
>> On Aug 2, 2005, at 6:59 PM, Jon Loeliger wrote:
>>
>>
>>> ..... A stub is left
>>> in asm-ppc and asm-ppc64 pointing to the unified files.
>>>
>>
>> Why bother?  You may as well change all of the source
>> files, too, or else that will never get done :-)
>>
>
> You actually don't need to modify (m)any source files.
>
> Here is an alternative approach.  These patches depend on Olaf's
> boot code cleanup for ppc64 (or similar).  Do the following:
>
> cd linux/include
> mkdir asm-powerpc
> cd asm-ppc
> for i in *
> do
>     [ -e ../asm-ppc64/$i ] || mv $i ../asm-powerpc/$i
> done
> cd ../asm-ppc64
> for i in *
> do
>     [ -e ../asm-ppc/$i ] || mv $i ../asm-powerpc/$i
> done
> for i in *
> do
>     [ -f ../asm-ppc64/$i ] && cmp -s $i ../asm-ppc64/$i &&
>         mv $i ../asm-powerpc/$i && rm ../asm-ppc64/$i
> done
>
> Then apply the patch below and the patch in the following email.
>
> I have built this kernel for ppc (defconfig), ppc64 (iSeries, pSeries
> and
> pmac).

I think conceptual this is ok, just now how we should go about it.   
There is a fair amount of cruft in asm-ppc and I think we should be  
more selective and iterative about what we move into arch-powerpc.   
For example, there is a fair amount of headers that are specific to  
platform support code.  It's probably the case that alot of that  
should move into the proper platform directory.

If we just copy those files into arch-powerpc I think we will never  
get around to moving them to the proper location in the future.

We've been doing some analysis (well, Jon and Becky have) and I think  
there is some low hanging fruit that we can start with:
1. files that are identical are almost identical
2. files that are not overly ppc specific and seem straight forward  
to merge
3. low hanging ppc specific files
4. identify files that we clearly want to wait on (for example  
anything platform related)

This will hopefully leave us with the painful list of things that we  
can start identifying and discussion how we want to go about solving  
things (like what should "current" by defined as :)

Now your makefile hackery seems perfectly reasonable if we want to go  
that way instead of explicitly including files like Jon's original  
patch does.  I dont have any strong feelings one way or the other.  
The makefile hackery seems less intrusive since we dont have to  
duplicate files in both places.  I'd like to see if we can come to  
some consensus on this since it directly impacts future patches that  
we are working on to merge more files and move them into include/asm- 
powerpc/

- kumar

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-17  5:39     ` Kumar Gala
@ 2005-08-17 11:05       ` Arnd Bergmann
  0 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2005-08-17 11:05 UTC (permalink / raw)
  To: linuxppc64-dev; +Cc: Stephen Rothwell, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 9916 bytes --]

On Middeweken 17 August 2005 07:39, Kumar Gala wrote:
>   
> For example, there is a fair amount of headers that are specific to  
> platform support code.  It's probably the case that alot of that  
> should move into the proper platform directory.

I have identified a list of files that are included only from files
in a single directory (after the platform merge) or not included at
all. 
See the end of this mail.

> Now your makefile hackery seems perfectly reasonable if we want to go  
> that way instead of explicitly including files like Jon's original  
> patch does.  I dont have any strong feelings one way or the other.  
> The makefile hackery seems less intrusive since we dont have to  
> duplicate files in both places.  I'd like to see if we can come to  
> some consensus on this since it directly impacts future patches that  
> we are working on to merge more files and move them into include/asm- 
> powerpc/

I vote for doing it with the Makefile hacks. The advantage I see in this
is that it is obvious from the file in each of the directories which files
are already merged and which ones still need to be worked on.

	Arnd <><

+++ ./bseip.h 0 +++
+++ ./gt64260.h 0 +++
+++ ./hdreg.h 0 +++
+++ ./md.h 0 +++
+++ ./ans-lcd.h 1 +++
./drivers/macintosh/ans-lcd.c:#include <asm/ans-lcd.h>
+++ ./gt64260_defs.h 1 +++
./include/asm-ppc/gt64260.h:#include <asm/gt64260_defs.h>
+++ ./hawk_defs.h 1 +++
./include/asm-ppc/hawk.h:#include <asm/hawk_defs.h>
+++ ./iSeries/HvCallSm.h 1 +++
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/HvCallSm.h>
+++ ./iSeries/HvReleaseData.h 1 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/HvReleaseData.h>
+++ ./iSeries/ItIplParmsReal.h 1 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/ItIplParmsReal.h>
+++ ./iSeries/ItSpCommArea.h 1 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/ItSpCommArea.h>
+++ ./iSeries/iSeries_io.h 1 +++
./include/asm-ppc64/io.h:#include <asm/iSeries/iSeries_io.h>
+++ ./ibm403.h 1 +++
./arch/ppc/platforms/4xx/oak.h:#include <asm/ibm403.h>
+++ ./m8260_pci.h 1 +++
./arch/ppc/syslib/m82xx_pci.h:#include <asm/m8260_pci.h>
+++ ./mk48t59.h 1 +++
./arch/ppc/platforms/prep_setup.c:#include <asm/mk48t59.h>
+++ ./ppc32.h 1 +++
./arch/ppc64/kernel/signal32.c:#include <asm/ppc32.h>
+++ ./raven.h 1 +++
./arch/ppc/platforms/prep_setup.c:#include <asm/raven.h>
+++ ./gg2.h 2 +++
./arch/ppc/platforms/chrp_pci.c:#include <asm/gg2.h>
./arch/ppc/platforms/chrp_setup.c:#include <asm/gg2.h>
+++ ./harrier.h 2 +++
./arch/ppc/platforms/prpmc800.c:#include <asm/harrier.h>
./arch/ppc/syslib/harrier.c:#include <asm/harrier.h>
+++ ./iSeries/IoHriMainStore.h 2 +++
./arch/ppc64/kernel/iSeries_proc.c:#include <asm/iSeries/IoHriMainStore.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/IoHriMainStore.h>
+++ ./iSeries/ItVpdAreas.h 2 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/ItVpdAreas.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/ItVpdAreas.h>
+++ ./iSeries/LparMap.h 2 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/LparMap.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/LparMap.h>
+++ ./imalloc.h 2 +++
./arch/ppc64/mm/imalloc.c:#include <asm/imalloc.h>
./arch/ppc64/mm/init.c:#include <asm/imalloc.h>
+++ ./ppc4xx_dma.h 2 +++
./arch/ppc/syslib/ppc4xx_dma.c:#include <asm/ppc4xx_dma.h>
./arch/ppc/syslib/ppc4xx_sgdma.c:#include <asm/ppc4xx_dma.h>
+++ ./xparameters.h 2 +++
./arch/ppc/platforms/4xx/virtex-ii_pro.h:#include <asm/xparameters.h>
./arch/ppc/syslib/xilinx_pic.c:#include <asm/xparameters.h>
+++ ./iSeries/HvCallHpt.h 3 +++
./arch/ppc64/kernel/iSeries_htab.c:#include <asm/iSeries/HvCallHpt.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/HvCallHpt.h>
./arch/ppc64/kernel/process.c:#include <asm/iSeries/HvCallHpt.h>
+++ ./iSeries/IoHriProcessorVpd.h 3 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/IoHriProcessorVpd.h>
./arch/ppc64/kernel/iSeries_proc.c:#include <asm/iSeries/IoHriProcessorVpd.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/IoHriProcessorVpd.h>
+++ ./iSeries/ItExtVpdPanel.h 3 +++
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/ItExtVpdPanel.h>
./arch/ppc64/kernel/lparcfg.c:#include <asm/iSeries/ItExtVpdPanel.h>
./arch/ppc64/kernel/viopath.c:#include <asm/iSeries/ItExtVpdPanel.h>
+++ ./iSeries/iSeries_irq.h 3 +++
./arch/ppc64/kernel/iSeries_irq.c:#include <asm/iSeries/iSeries_irq.h>
./arch/ppc64/kernel/iSeries_pci.c:#include <asm/iSeries/iSeries_irq.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/iSeries_irq.h>
+++ ./ipic.h 3 +++
./arch/ppc/platforms/83xx/mpc834x_sys.c:#include <asm/ipic.h>
./arch/ppc/syslib/ipic.c:#include <asm/ipic.h>
./arch/ppc/syslib/ipic.h:#include <asm/ipic.h>
+++ ./xics.h 3 +++
./arch/ppc64/kernel/pSeries_setup.c:#include <asm/xics.h>
./arch/ppc64/kernel/pSeries_smp.c:#include <asm/xics.h>
./arch/ppc64/kernel/xics.c:#include <asm/xics.h>
+++ ./plpar_wrappers.h 4 +++
./arch/ppc64/kernel/pSeries_iommu.c:#include <asm/plpar_wrappers.h>
./arch/ppc64/kernel/pSeries_lpar.c:#include <asm/plpar_wrappers.h>
./arch/ppc64/kernel/pSeries_setup.c:#include <asm/plpar_wrappers.h>
./arch/ppc64/kernel/pSeries_smp.c:#include <asm/plpar_wrappers.h>
+++ ./prep_nvram.h 4 +++
./arch/ppc/platforms/lopec.c:#include <asm/prep_nvram.h>
./arch/ppc/platforms/pplus.c:#include <asm/prep_nvram.h>
./arch/ppc/platforms/prep_setup.c:#include <asm/prep_nvram.h>
./arch/ppc/syslib/prep_nvram.c:#include <asm/prep_nvram.h>
+++ ./hawk.h 5 +++
./arch/ppc/platforms/mcpn765.c:#include <asm/hawk.h>
./arch/ppc/platforms/mvme5100.c:#include <asm/hawk.h>
./arch/ppc/platforms/pplus.c:#include <asm/hawk.h>
./arch/ppc/platforms/prpmc750.c:#include <asm/hawk.h>
./arch/ppc/syslib/hawk_common.c:#include <asm/hawk.h>
+++ ./hvconsole.h 5 +++
./arch/ppc64/kernel/hvconsole.c:#include <asm/hvconsole.h>
./drivers/char/hvc_console.c:#include <asm/hvconsole.h>
./drivers/char/hvcs.c:#include <asm/hvconsole.h>
./drivers/char/hvsi.c:#include <asm/hvconsole.h>
./drivers/char/hvc_vio.c:#include <asm/hvconsole.h>
+++ ./pSeries_reconfig.h 5 +++
./arch/ppc64/kernel/pSeries_iommu.c:#include <asm/pSeries_reconfig.h>
./arch/ppc64/kernel/pSeries_reconfig.c:#include <asm/pSeries_reconfig.h>
./arch/ppc64/kernel/pSeries_smp.c:#include <asm/pSeries_reconfig.h>
./arch/ppc64/kernel/pci_dn.c:#include <asm/pSeries_reconfig.h>
./arch/ppc64/kernel/prom.c:#include <asm/pSeries_reconfig.h>
+++ ./ibm_ocp_pci.h 6 +++
./arch/ppc/platforms/4xx/ash.c:#include <asm/ibm_ocp_pci.h>
./arch/ppc/platforms/4xx/bubinga.c:#include <asm/ibm_ocp_pci.h>
./arch/ppc/platforms/4xx/ep405.c:#include <asm/ibm_ocp_pci.h>
./arch/ppc/platforms/4xx/sycamore.c:#include <asm/ibm_ocp_pci.h>
./arch/ppc/platforms/4xx/walnut.c:#include <asm/ibm_ocp_pci.h>
./arch/ppc/syslib/ppc405_pci.c:#include <asm/ibm_ocp_pci.h>
+++ ./mv64x60_defs.h 6 +++
./arch/ppc/boot/simple/misc-chestnut.c:#include <asm/mv64x60_defs.h>
./arch/ppc/boot/simple/misc-ev64260.c:#include <asm/mv64x60_defs.h>
./arch/ppc/boot/simple/misc-katana.c:#include <asm/mv64x60_defs.h>
./arch/ppc/boot/simple/misc-mv64x60.c:#include <asm/mv64x60_defs.h>
./arch/ppc/boot/simple/mv64x60_tty.c:#include <asm/mv64x60_defs.h>
./include/asm-ppc/mv64x60.h:#include <asm/mv64x60_defs.h>
+++ ./iSeries/HvCallXm.h 7 +++
./arch/ppc64/kernel/iSeries_iommu.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/iSeries_irq.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/iSeries_pci.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/iSeries_proc.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/vio.c:#include <asm/iSeries/HvCallXm.h>
./arch/ppc64/kernel/time.c:#include <asm/iSeries/HvCallXm.h>
+++ ./ibm405.h 7 +++
./arch/ppc/platforms/4xx/ibm405ep.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/ibm405gp.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/ibm405gpr.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/ibmnp405h.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/ibmstb4.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/ibmstbx25.h:#include <asm/ibm405.h>
./arch/ppc/platforms/4xx/virtex-ii_pro.h:#include <asm/ibm405.h>
+++ ./lppaca.h 7 +++
./arch/ppc64/kernel/LparData.c:#include <asm/lppaca.h>
./arch/ppc64/kernel/asm-offsets.c:#include <asm/lppaca.h>
./arch/ppc64/kernel/iSeries_proc.c:#include <asm/lppaca.h>
./arch/ppc64/kernel/lparcfg.c:#include <asm/lppaca.h>
./arch/ppc64/kernel/pacaData.c:#include <asm/lppaca.h>
./arch/ppc64/kernel/sysfs.c:#include <asm/lppaca.h>
./include/asm-ppc64/paca.h:#include <asm/lppaca.h>
+++ ./iSeries/ItLpQueue.h 8 +++
./arch/ppc64/kernel/ItLpQueue.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/LparData.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/iSeries_proc.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/iSeries_setup.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/irq.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/mf.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/pacaData.c:#include <asm/iSeries/ItLpQueue.h>
./arch/ppc64/kernel/time.c:#include <asm/iSeries/ItLpQueue.h>
+++ ./immap_85xx.h 8 +++
./arch/ppc/platforms/85xx/mpc8540_ads.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/mpc8560_ads.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/mpc85xx_ads_common.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/mpc85xx_cds_common.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/sbc8560.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/sbc85xx.c:#include <asm/immap_85xx.h>
./arch/ppc/platforms/85xx/stx_gp3.c:#include <asm/immap_85xx.h>
./arch/ppc/syslib/ppc85xx_setup.c:#include <asm/immap_85xx.h>

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-05 14:59       ` Stephen Rothwell
  2005-08-05 16:24         ` Arnd Bergmann
@ 2005-08-26 20:55         ` Jon Loeliger
  2005-08-29 15:44           ` Segher Boessenkool
  2005-08-29 18:41           ` Christopher Friesen
  1 sibling, 2 replies; 21+ messages in thread
From: Jon Loeliger @ 2005-08-26 20:55 UTC (permalink / raw)
  To: linuxppc64-dev, linuxppc-dev@ozlabs.org

On Fri, 2005-08-05 at 09:59, Stephen Rothwell wrote:

> > Another interesting point about it is which define to use. For s390, we
> > decided to '#ifdef __s390x__' rather than '#ifdef CONFIG_ARCH_S390X' or
> > 'ifdef CONFIG_64BIT', because CONFIG_* does not work when including the
> > headers from user space.
> 
> Well noone should even include kernel headers from user space :-) and my
> understanding is that glibc "sanitizes" its version of the kernel headers
> anyway.
> 
> > Using CONFIG_64BIT instead of __powerpc64__ only within #ifdef __KERNEL__
> > would be correct but less consistant.
> 
> The advantage of using CONFIG_64BIT as much as possible is that it shows
> us places that can be consolidated across the various architectures
> (which is a bit of a passion of mine :-)).  And more consolidation should
> make life easier for the glibc folks in the long run.

Hi guys,

Well, the time has come when I need an answer to this
question in order to make more progress on merging
some include files.

Anyone care to take a semi-authoritative stand on what
symbol to use to distinguish 32/64-bit-ness in the
include files?

Thanks,
jdl

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-26 20:55         ` Jon Loeliger
@ 2005-08-29 15:44           ` Segher Boessenkool
  2005-08-29 18:41           ` Christopher Friesen
  1 sibling, 0 replies; 21+ messages in thread
From: Segher Boessenkool @ 2005-08-29 15:44 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org

> Anyone care to take a semi-authoritative stand on what
> symbol to use to distinguish 32/64-bit-ness in the
> include files?

It depends on what you are testing for.

Sometimes __LP64__ would be best (when you want to know
the size of pointers etc.), sometimes __powerpc64__ (when
you need to know the available instruction set), and
I'm sure there are cases where you should use a different
symbol altogether, because you are testing something else.


Segher

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

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
  2005-08-26 20:55         ` Jon Loeliger
  2005-08-29 15:44           ` Segher Boessenkool
@ 2005-08-29 18:41           ` Christopher Friesen
  1 sibling, 0 replies; 21+ messages in thread
From: Christopher Friesen @ 2005-08-29 18:41 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org

Jon Loeliger wrote:

> Anyone care to take a semi-authoritative stand on what
> symbol to use to distinguish 32/64-bit-ness in the
> include files?

I vote for __powerpc64__, if only to make it easier for the people who
have to sanitize the kernel headers for use in userspace.

Chris

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

end of thread, other threads:[~2005-08-29 18:41 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-02 22:59 Beginning Merger Patch Jon Loeliger
2005-08-02 23:05 ` Eugene Surovegin
2005-08-02 23:12   ` Dan Malek
2005-08-02 23:17     ` Eugene Surovegin
2005-08-03  3:08     ` Paul Mackerras
2005-08-03  2:38   ` Josh Boyer
2005-08-02 23:10 ` Dan Malek
2005-08-05  7:47   ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
2005-08-05  7:50     ` [PATCH] 2/2 merge the easy ones Stephen Rothwell
2005-08-05  8:37     ` [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch) Stephen Rothwell
2005-08-05  9:08     ` Michael Ellerman
2005-08-05 11:53     ` Arnd Bergmann
2005-08-05 14:59       ` Stephen Rothwell
2005-08-05 16:24         ` Arnd Bergmann
2005-08-26 20:55         ` Jon Loeliger
2005-08-29 15:44           ` Segher Boessenkool
2005-08-29 18:41           ` Christopher Friesen
2005-08-17  5:39     ` Kumar Gala
2005-08-17 11:05       ` Arnd Bergmann
2005-08-03  2:17 ` Beginning Merger Patch Nathan Lynch
2005-08-03  2:58   ` Eugene Surovegin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).