LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 08/10] um: dyn/uml.lds.S cleanup - use PAGE_SIZE macro
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes page.h header into liker scripts that
allow us to use PAGE_SIZE macro instead of numeric constant.

To be able to include page.h into linker scripts page.h is
needed for some modification - i.e. we need to use __ASSEMBLY__
and _AC macro

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 arch/um/kernel/dyn.lds.S |    7 ++++---
 arch/um/kernel/uml.lds.S |    7 ++++---
 include/asm-um/page.h    |   17 +++++++++++------
 3 files changed, 19 insertions(+), 12 deletions(-)

Index: linux-2.6.git/arch/um/kernel/dyn.lds.S
===================================================================
--- linux-2.6.git.orig/arch/um/kernel/dyn.lds.S	2008-01-29 18:03:46.000000000 +0300
+++ linux-2.6.git/arch/um/kernel/dyn.lds.S	2008-02-27 21:38:48.000000000 +0300
@@ -1,4 +1,5 @@
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT(ELF_FORMAT)
 OUTPUT_ARCH(ELF_ARCH)
@@ -21,7 +22,7 @@ SECTIONS
 	_einittext = .;
   }
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
 
   /* Read-only sections, merged into text segment: */
   .hash           : { *(.hash) }
@@ -68,9 +69,9 @@ SECTIONS
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
 
-    . = ALIGN(4096);
+    . = ALIGN(PAGE_SIZE);
   } =0x90909090
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .syscall_stub : {
 	__syscall_stub_start = .;
 	*(.__syscall_stub*)
Index: linux-2.6.git/arch/um/kernel/uml.lds.S
===================================================================
--- linux-2.6.git.orig/arch/um/kernel/uml.lds.S	2008-01-29 18:03:46.000000000 +0300
+++ linux-2.6.git/arch/um/kernel/uml.lds.S	2008-02-27 21:38:53.000000000 +0300
@@ -1,4 +1,5 @@
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT(ELF_FORMAT)
 OUTPUT_ARCH(ELF_ARCH)
@@ -26,7 +27,7 @@ SECTIONS
 	INIT_TEXT
 	_einittext = .;
   }
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
 
   .text      :
   {
@@ -39,7 +40,7 @@ SECTIONS
     *(.gnu.linkonce.t*)
   }
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .syscall_stub : {
 	__syscall_stub_start = .;
 	*(.__syscall_stub*)
@@ -79,7 +80,7 @@ SECTIONS
   .sdata     : { *(.sdata) }
   _edata  =  .;
   PROVIDE (edata = .);
-  . = ALIGN(0x1000);
+  . = ALIGN(PAGE_SIZE);
   .sbss      :
   {
    __bss_start = .;
Index: linux-2.6.git/include/asm-um/page.h
===================================================================
--- linux-2.6.git.orig/include/asm-um/page.h	2008-02-09 12:09:29.000000000 +0300
+++ linux-2.6.git/include/asm-um/page.h	2008-02-27 21:42:17.000000000 +0300
@@ -7,16 +7,20 @@
 #ifndef __UM_PAGE_H
 #define __UM_PAGE_H
 
-struct page;
-
-#include <linux/types.h>
-#include <asm/vm-flags.h>
+#include <linux/const.h>
 
 /* PAGE_SHIFT determines the page size */
 #define PAGE_SHIFT	12
-#define PAGE_SIZE	(1UL << PAGE_SHIFT)
+#define PAGE_SIZE	(_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
+#ifndef __ASSEMBLY__
+
+struct page;
+
+#include <linux/types.h>
+#include <asm/vm-flags.h>
+
 /*
  * These are used to make use of C type-checking..
  */
@@ -120,4 +124,5 @@ extern struct page *arch_validate(struct
 #include <asm-generic/memory_model.h>
 #include <asm-generic/page.h>
 
-#endif
+#endif	/* __ASSEMBLY__ */
+#endif	/* __UM_PAGE_H */

-- 

^ permalink raw reply

* [RFC 09/10] alpha: vmlinux.lds cleanup - use THREAD_SIZE macro
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch modifies thread_info.h header to be able to include it
into linker script and then we're able to use THREAD_SIZE in
vmlinux.lds

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
---

 arch/alpha/kernel/vmlinux.lds.S |    3 ++-
 include/asm-alpha/thread_info.h |    9 ++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

Index: linux-2.6.git/arch/alpha/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/alpha/kernel/vmlinux.lds.S	2008-02-27 21:48:19.000000000 +0300
+++ linux-2.6.git/arch/alpha/kernel/vmlinux.lds.S	2008-02-27 22:05:37.000000000 +0300
@@ -1,5 +1,6 @@
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/page.h>
+#include <asm/thread_info.h>
 
 OUTPUT_FORMAT("elf64-alpha")
 OUTPUT_ARCH(alpha)
@@ -88,7 +89,7 @@ SECTIONS
 
 	PERCPU(PAGE_SIZE)
 
-	. = ALIGN(2 * PAGE_SIZE);
+	. = ALIGN(THREAD_SIZE);
 	__init_end = .;
 	/* Freed after init ends here */
 
Index: linux-2.6.git/include/asm-alpha/thread_info.h
===================================================================
--- linux-2.6.git.orig/include/asm-alpha/thread_info.h	2008-02-27 21:48:28.000000000 +0300
+++ linux-2.6.git/include/asm-alpha/thread_info.h	2008-02-27 22:05:37.000000000 +0300
@@ -7,9 +7,7 @@
 #include <asm/processor.h>
 #include <asm/types.h>
 #include <asm/hwrpb.h>
-#endif
 
-#ifndef __ASSEMBLY__
 struct thread_info {
 	struct pcb_struct	pcb;		/* palcode state */
 
@@ -50,13 +48,14 @@ register struct thread_info *__current_t
 #define current_thread_info()  __current_thread_info
 
 /* Thread information allocation.  */
-#define THREAD_SIZE (2*PAGE_SIZE)
 #define alloc_thread_info(tsk) \
   ((struct thread_info *) __get_free_pages(GFP_KERNEL,1))
 #define free_thread_info(ti) free_pages((unsigned long) (ti), 1)
 
 #endif /* __ASSEMBLY__ */
 
+#define THREAD_SIZE (2 * PAGE_SIZE)
+
 #define PREEMPT_ACTIVE		0x40000000
 
 /*
@@ -94,6 +93,8 @@ register struct thread_info *__current_t
 #define ALPHA_UAC_MASK		(1 << TIF_UAC_NOPRINT | 1 << TIF_UAC_NOFIX | \
 				 1 << TIF_UAC_SIGBUS)
 
+#ifndef __ASSEMBLY__
+
 #define SET_UNALIGN_CTL(task,value)	({				     \
 	task_thread_info(task)->flags = ((task_thread_info(task)->flags &    \
 		~ALPHA_UAC_MASK)					     \
@@ -112,5 +113,7 @@ register struct thread_info *__current_t
 		 (int __user *)(value));				\
 	})
 
+#endif /* __ASSEMBLY__ */
+
 #endif /* __KERNEL__ */
 #endif /* _ALPHA_THREAD_INFO_H */

-- 

^ permalink raw reply

* [RFC 10/10] xtensa: vmlinux.lds.S - use PAGE_SIZE, THREAD_SIZE macroses
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes page.h and thread_info.h headers into the linker
script that allow us to use PAGE_SIZE and THREAD_SIZE macroses
instead of numeric constants

Also a few spaces removed

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 vmlinux.lds.S |   19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Index: linux-2.6.git/arch/xtensa/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/xtensa/kernel/vmlinux.lds.S	2008-02-26 21:45:46.000000000 +0300
+++ linux-2.6.git/arch/xtensa/kernel/vmlinux.lds.S	2008-02-27 22:15:04.000000000 +0300
@@ -15,6 +15,8 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
+#include <asm/thread_info.h>
 
 #include <asm/variant/core.h>
 OUTPUT_ARCH(xtensa)
@@ -127,16 +129,16 @@ SECTIONS
   _edata = .;
 
   /* The initial task */
-  . = ALIGN(8192);
+  . = ALIGN(THREAD_SIZE);
   .data.init_task : { *(.data.init_task) }
 
   /* Initialization code and data: */
 
-  . = ALIGN(1 << 12);
+  . = ALIGN(PAGE_SIZE);
   __init_begin = .;
   .init.text : {
   	_sinittext = .;
-	*(.init.literal) *(.cpuinit.literal) 
+	*(.init.literal) *(.cpuinit.literal)
 	*(.devinit.literal) *(.meminit.literal)
 	INIT_TEXT
 	_einittext = .;
@@ -165,7 +167,7 @@ SECTIONS
 		   .DoubleExceptionVector.text);
     RELOCATE_ENTRY(_DebugInterruptVector_text,
 		   .DebugInterruptVector.text);
-  
+
     __boot_reloc_table_end = ABSOLUTE(.) ;
   }
 
@@ -189,14 +191,13 @@ SECTIONS
 
 
 #ifdef CONFIG_BLK_DEV_INITRD
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __initramfs_start =.;
   .init.ramfs : { *(.init.ramfs) }
   __initramfs_end = .;
 #endif
 
-  PERCPU(4096)
-
+  PERCPU(PAGE_SIZE)
 
   /* We need this dummy segment here */
 
@@ -251,7 +252,7 @@ SECTIONS
 		  .DoubleExceptionVector.literal)
 
   . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
-  . = ALIGN(1 << 12);
+  . = ALIGN(PAGE_SIZE);
 
   __init_end = .;
 
@@ -269,7 +270,7 @@ SECTIONS
   . = ALIGN(0x10);
   .bootstrap : { *(.bootstrap.literal .bootstrap.text .bootstrap.data) }
 
-  . = ALIGN(0x1000);
+  . = ALIGN(PAGE_SIZE);
   __initrd_start = .;
   .initrd : { *(.initrd) }
   __initrd_end = .;

-- 

^ permalink raw reply

* [RFC 07/10] ppc: vmlinux.lds.S cleanup - use PAGE_SIZE macro
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes page.h header into liker script that
allow us to use PAGE_SIZE macro instead of numeric constant

Also a few tabs deleted to align braces

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 vmlinux.lds.S |   33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

Index: linux-2.6.git/arch/ppc/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/ppc/kernel/vmlinux.lds.S	2008-02-07 17:22:25.000000000 +0300
+++ linux-2.6.git/arch/ppc/kernel/vmlinux.lds.S	2008-02-27 21:36:35.000000000 +0300
@@ -1,4 +1,5 @@
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_ARCH(powerpc:common)
 jiffies = jiffies_64 + 4;
@@ -11,22 +12,22 @@ SECTIONS
   .gnu.hash      : { *(.gnu.hash)	}
   .dynsym        : { *(.dynsym)		}
   .dynstr        : { *(.dynstr)		}
-  .rel.text      : { *(.rel.text)		}
+  .rel.text      : { *(.rel.text)	}
   .rela.text     : { *(.rela.text) 	}
-  .rel.data      : { *(.rel.data)		}
+  .rel.data      : { *(.rel.data)	}
   .rela.data     : { *(.rela.data) 	}
   .rel.rodata    : { *(.rel.rodata) 	}
   .rela.rodata   : { *(.rela.rodata) 	}
-  .rel.got       : { *(.rel.got)		}
-  .rela.got      : { *(.rela.got)		}
+  .rel.got       : { *(.rel.got)	}
+  .rela.got      : { *(.rela.got)	}
   .rel.ctors     : { *(.rel.ctors)	}
   .rela.ctors    : { *(.rela.ctors)	}
   .rel.dtors     : { *(.rel.dtors)	}
   .rela.dtors    : { *(.rela.dtors)	}
-  .rel.bss       : { *(.rel.bss)		}
-  .rela.bss      : { *(.rela.bss)		}
-  .rel.plt       : { *(.rel.plt)		}
-  .rela.plt      : { *(.rela.plt)		}
+  .rel.bss       : { *(.rel.bss)	}
+  .rela.bss      : { *(.rela.bss)	}
+  .rel.plt       : { *(.rel.plt)	}
+  .rela.plt      : { *(.rela.plt)	}
 /*  .init          : { *(.init)	} =0*/
   .plt : { *(.plt) }
   .text      :
@@ -64,7 +65,7 @@ SECTIONS
 	}
 
   /* Read-write section, merged into data segment: */
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .data    :
   {
     DATA_DATA
@@ -76,10 +77,10 @@ SECTIONS
     CONSTRUCTORS
   }
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_begin = .;
   .data_nosave : { *(.data.nosave) }
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_end = .;
 
   . = ALIGN(32);
@@ -88,12 +89,12 @@ SECTIONS
   _edata  =  .;
   PROVIDE (edata = .);
 
-  . = ALIGN(8192);
+  . = ALIGN(2 * PAGE_SIZE);
   .data.init_task : { *(.data.init_task) }
 
   NOTES
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __init_begin = .;
   .init.text : {
 	_sinittext = .;
@@ -132,16 +133,16 @@ SECTIONS
   __ftr_fixup : { *(__ftr_fixup) }
   __stop___ftr_fixup = .;
 
-  PERCPU(4096)
+  PERCPU(PAGE_SIZE)
 
 #ifdef CONFIG_BLK_DEV_INITRD
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
   __initramfs_end = .;
 #endif
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __init_end = .;
   __bss_start = .;
   .bss       :

-- 

^ permalink raw reply

* [RFC 06/10] powerpc: vmlinux.lds.S cleanup - use PERCPU, THREAD_SIZE macroses
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes  thread_info.h header into liker script that
allow us to use THREAD_SIZE macro instead of numeric constant

Also PERCPU macro is used instead of explicit section definition

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 vmlinux.lds.S |   16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

Index: linux-2.6.git/arch/powerpc/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/powerpc/kernel/vmlinux.lds.S	2008-01-29 18:03:46.000000000 +0300
+++ linux-2.6.git/arch/powerpc/kernel/vmlinux.lds.S	2008-02-27 21:33:53.000000000 +0300
@@ -8,6 +8,7 @@
 #endif
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/cache.h>
+#include <asm/thread_info.h>
 
 ENTRY(_stext)
 
@@ -145,13 +146,8 @@ SECTIONS
 		__initramfs_end = .;
 	}
 #endif
-	. = ALIGN(PAGE_SIZE);
-	.data.percpu : {
-		__per_cpu_start = .;
-		*(.data.percpu)
-		*(.data.percpu.shared_aligned)
-		__per_cpu_end = .;
-	}
+
+	PERCPU(PAGE_SIZE)
 
 	. = ALIGN(8);
 	.machine.desc : {
@@ -202,11 +198,7 @@ SECTIONS
 	PROVIDE32 (edata = .);
 
 	/* The initial task and kernel stack */
-#ifdef CONFIG_PPC32
-	. = ALIGN(8192);
-#else
-	. = ALIGN(16384);
-#endif
+	. = ALIGN(THREAD_SIZE);
 	.data.init_task : {
 		*(.data.init_task)
 	}

-- 

^ permalink raw reply

* [RFC 05/10] mn10300: vmlinux.lds.S cleanup - use PAGE_SIZE, PERCPU macroses
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes page.h header into liker script that
allow us to use PAGE_SIZE macro instead of numeric constant

Also PERCPU macro is used instead of explicit section definition

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 vmlinux.lds.S |   22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

Index: linux-2.6.git/arch/mn10300/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/mn10300/kernel/vmlinux.lds.S	2008-02-21 22:26:02.000000000 +0300
+++ linux-2.6.git/arch/mn10300/kernel/vmlinux.lds.S	2008-02-27 21:30:34.000000000 +0300
@@ -11,6 +11,7 @@
 #define __VMLINUX_LDS__
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT("elf32-am33lin", "elf32-am33lin", "elf32-am33lin")
 OUTPUT_ARCH(mn10300)
@@ -55,13 +56,13 @@ SECTIONS
 	CONSTRUCTORS
 	}
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_begin = .;
   .data_nosave : { *(.data.nosave) }
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_end = .;
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .data.page_aligned : { *(.data.idt) }
 
   . = ALIGN(32);
@@ -78,7 +79,7 @@ SECTIONS
   .data.init_task : { *(.data.init_task) }
 
   /* might get freed after init */
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
   	__smp_locks = .;
 	*(.smp_locks)
@@ -86,7 +87,7 @@ SECTIONS
   }
 
   /* will be freed after init */
-  . = ALIGN(4096);		/* Init code and data */
+  . = ALIGN(PAGE_SIZE);		/* Init code and data */
   __init_begin = .;
   .init.text : {
 	_sinittext = .;
@@ -120,17 +121,14 @@ SECTIONS
   .exit.data : { *(.exit.data) }
 
 #ifdef CONFIG_BLK_DEV_INITRD
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
   __initramfs_end = .;
 #endif
 
-  . = ALIGN(32);
-  __per_cpu_start = .;
-  .data.percpu  : { *(.data.percpu) }
-  __per_cpu_end = .;
-  . = ALIGN(4096);
+  PERCPU(32)
+  . = ALIGN(PAGE_SIZE);
   __init_end = .;
   /* freed after init ends here */
 
@@ -145,7 +143,7 @@ SECTIONS
   _end = . ;
 
   /* This is where the kernel creates the early boot page tables */
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   pg0 = .;
 
   /* Sections to be discarded */

-- 

^ permalink raw reply

* [RFC 02/10] m32r: vmlinux.lds.S cleanup - use PAGE_SIZE, THREAD_SIZE macroses
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch modifies PAGE_SIZE definition to be able to
include it in vmlinux.lds.S script and use it then

Also THREAD_SIZE macro is used to replace numeric constant

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 arch/m32r/kernel/vmlinux.lds.S |   19 ++++++++++---------
 include/asm-m32r/page.h        |    4 +++-
 2 files changed, 13 insertions(+), 10 deletions(-)

Index: linux-2.6.git/arch/m32r/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/m32r/kernel/vmlinux.lds.S	2008-02-21 22:26:02.000000000 +0300
+++ linux-2.6.git/arch/m32r/kernel/vmlinux.lds.S	2008-02-27 20:44:12.000000000 +0300
@@ -4,6 +4,7 @@
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/addrspace.h>
 #include <asm/page.h>
+#include <asm/thread_info.h>
 
 OUTPUT_ARCH(m32r)
 #if defined(__LITTLE_ENDIAN__)
@@ -20,7 +21,7 @@ SECTIONS
   . = CONFIG_MEMORY_START + __PAGE_OFFSET;
   eit_vector = .;
 
-  . = . + 0x1000;
+  . = . + PAGE_SIZE;
   .empty_zero_page : { *(.empty_zero_page) } = 0
 
   /* read-only */
@@ -54,13 +55,13 @@ SECTIONS
 	CONSTRUCTORS
 	}
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_begin = .;
   .data_nosave : { *(.data.nosave) }
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __nosave_end = .;
 
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   .data.page_aligned : { *(.data.idt) }
 
   . = ALIGN(32);
@@ -68,11 +69,11 @@ SECTIONS
 
   _edata = .;			/* End of data section */
 
-  . = ALIGN(8192);		/* init_task */
+  . = ALIGN(THREAD_SIZE);	/* init_task */
   .data.init_task : { *(.data.init_task) }
 
   /* will be freed after init */
-  . = ALIGN(4096);		/* Init code and data */
+  . = ALIGN(PAGE_SIZE);		/* Init code and data */
   __init_begin = .;
   .init.text : {
 	_sinittext = .;
@@ -104,14 +105,14 @@ SECTIONS
   .exit.data : { EXIT_DATA }
 
 #ifdef CONFIG_BLK_DEV_INITRD
-  . = ALIGN(4096);
+  . = ALIGN(PAGE_SIZE);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
   __initramfs_end = .;
 #endif
 
-  PERCPU(4096)
-  . = ALIGN(4096);
+  PERCPU(PAGE_SIZE)
+  . = ALIGN(PAGE_SIZE);
   __init_end = .;
   /* freed after init ends here */
 
Index: linux-2.6.git/include/asm-m32r/page.h
===================================================================
--- linux-2.6.git.orig/include/asm-m32r/page.h	2008-02-09 12:09:28.000000000 +0300
+++ linux-2.6.git/include/asm-m32r/page.h	2008-02-27 20:48:11.000000000 +0300
@@ -1,9 +1,11 @@
 #ifndef _ASM_M32R_PAGE_H
 #define _ASM_M32R_PAGE_H
 
+#include <linux/const.h>
+
 /* PAGE_SHIFT determines the page size */
 #define PAGE_SHIFT	12
-#define PAGE_SIZE	(1UL << PAGE_SHIFT)
+#define PAGE_SIZE	(_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
 #ifndef __ASSEMBLY__

-- 

^ permalink raw reply

* [RFC 04/10] m68knommu: vmlinux.lds cleanup - use PAGE_SIZE macro
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch modifies page.h header to be able to include it
into linker script and then we're able to use PAGE_SIZE in
vmlinux.lds

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 arch/m68knommu/kernel/vmlinux.lds.S |    5 +++--
 include/asm-m68knommu/page.h        |    6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

Index: linux-2.6.git/arch/m68knommu/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/m68knommu/kernel/vmlinux.lds.S	2008-02-10 10:46:37.000000000 +0300
+++ linux-2.6.git/arch/m68knommu/kernel/vmlinux.lds.S	2008-02-27 21:24:46.000000000 +0300
@@ -8,6 +8,7 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define	RAM_START	CONFIG_KERNELBASE
@@ -140,7 +141,7 @@ SECTIONS {
 	} > DATA
 
 	.init : {
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 		_sinittext = .;
 		INIT_TEXT
@@ -165,7 +166,7 @@ SECTIONS {
 		*(.init.ramfs)
 		__initramfs_end = .;
 #endif
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 	} > INIT
 
Index: linux-2.6.git/include/asm-m68knommu/page.h
===================================================================
--- linux-2.6.git.orig/include/asm-m68knommu/page.h	2008-02-10 12:03:48.000000000 +0300
+++ linux-2.6.git/include/asm-m68knommu/page.h	2008-02-27 21:19:37.000000000 +0300
@@ -1,16 +1,18 @@
 #ifndef _M68KNOMMU_PAGE_H
 #define _M68KNOMMU_PAGE_H
 
+#include <linux/const.h>
+
 /* PAGE_SHIFT determines the page size */
 
 #define PAGE_SHIFT	(12)
-#define PAGE_SIZE	(1UL << PAGE_SHIFT)
+#define PAGE_SIZE	(_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
 #include <asm/setup.h>
 
 #ifndef __ASSEMBLY__
- 
+
 #define get_user_page(vaddr)		__get_free_page(GFP_KERNEL)
 #define free_user_page(page, addr)	free_page(addr)
 

-- 

^ permalink raw reply

* [RFC 03/10] m68k: vmlinux-std/sun3.lds.S cleanup - use PAGE_SIZE macro
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch includes page.h header into liker script that
allow us to use PAGE_SIZE macro instead of numeric constant

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 vmlinux-std.lds  |    3 ++-
 vmlinux-sun3.lds |    7 ++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

Index: linux-2.6.git/arch/m68k/kernel/vmlinux-std.lds
===================================================================
--- linux-2.6.git.orig/arch/m68k/kernel/vmlinux-std.lds	2008-01-29 18:03:46.000000000 +0300
+++ linux-2.6.git/arch/m68k/kernel/vmlinux-std.lds	2008-02-27 21:13:29.000000000 +0300
@@ -1,6 +1,7 @@
 /* ld script to make m68k Linux kernel */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
 OUTPUT_ARCH(m68k)
@@ -41,7 +42,7 @@ SECTIONS
   _edata = .;			/* End of data section */
 
   /* will be freed after init */
-  . = ALIGN(4096);		/* Init code and data */
+  . = ALIGN(PAGE_SIZE);		/* Init code and data */
   __init_begin = .;
   .init.text : {
 	_sinittext = .;
Index: linux-2.6.git/arch/m68k/kernel/vmlinux-sun3.lds
===================================================================
--- linux-2.6.git.orig/arch/m68k/kernel/vmlinux-sun3.lds	2008-01-29 18:03:46.000000000 +0300
+++ linux-2.6.git/arch/m68k/kernel/vmlinux-sun3.lds	2008-02-27 21:13:51.000000000 +0300
@@ -1,6 +1,7 @@
 /* ld script to make m68k Linux kernel */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
 OUTPUT_ARCH(m68k)
@@ -34,7 +35,7 @@ SECTIONS
   _edata = .;
 
   /* will be freed after init */
-  . = ALIGN(8192);	/* Init code and data */
+  . = ALIGN(PAGE_SIZE);	/* Init code and data */
 __init_begin = .;
 	.init.text : {
 		_sinittext = .;
@@ -61,12 +62,12 @@ __init_begin = .;
 	}
 	SECURITY_INIT
 #ifdef CONFIG_BLK_DEV_INITRD
-	. = ALIGN(8192);
+	. = ALIGN(PAGE_SIZE);
 	__initramfs_start = .;
 	.init.ramfs : { *(.init.ramfs) }
 	__initramfs_end = .;
 #endif
-	. = ALIGN(8192);
+	. = ALIGN(PAGE_SIZE);
 	__init_end = .;
 	.data.init.task : { *(.data.init_task) }
 

-- 

^ permalink raw reply

* [RFC 01/10] arm: vmlinux.lds.S cleanup - use PERCPU, PAGE_SIZE macroses
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam
In-Reply-To: <20080227205831.150784453@gmail.com>

This patch modifies PAGE_SIZE definition to be able to
include it into vmlinux.lds.S script and use it then

Also PERCPU macros is used instead of explicit section
declaration

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

WARNING: COMPLETELY UNTESTED !!!

 arch/arm/kernel/vmlinux.lds.S |   21 ++++++++++-----------
 include/asm-arm/page.h        |    4 +++-
 2 files changed, 13 insertions(+), 12 deletions(-)

Index: linux-2.6.git/arch/arm/kernel/vmlinux.lds.S
===================================================================
--- linux-2.6.git.orig/arch/arm/kernel/vmlinux.lds.S	2008-02-10 10:46:36.000000000 +0300
+++ linux-2.6.git/arch/arm/kernel/vmlinux.lds.S	2008-02-27 20:34:47.000000000 +0300
@@ -5,8 +5,9 @@
 
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
+#include <asm/page.h>
 #include <asm/memory.h>
-	
+
 OUTPUT_ARCH(arm)
 ENTRY(stext)
 
@@ -63,15 +64,13 @@ SECTIONS
 			usr/built-in.o(.init.ramfs)
 		__initramfs_end = .;
 #endif
-		. = ALIGN(4096);
-		__per_cpu_start = .;
-			*(.data.percpu)
-			*(.data.percpu.shared_aligned)
-		__per_cpu_end = .;
+
+		PERCPU(PAGE_SIZE)
+
 #ifndef CONFIG_XIP_KERNEL
 		__init_begin = _stext;
 		INIT_DATA
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 #endif
 	}
@@ -128,17 +127,17 @@ SECTIONS
 		*(.data.init_task)
 
 #ifdef CONFIG_XIP_KERNEL
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 		INIT_DATA
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 #endif
 
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__nosave_begin = .;
 		*(.data.nosave)
-		. = ALIGN(4096);
+		. = ALIGN(PAGE_SIZE);
 		__nosave_end = .;
 
 		/*
Index: linux-2.6.git/include/asm-arm/page.h
===================================================================
--- linux-2.6.git.orig/include/asm-arm/page.h	2008-02-09 12:09:28.000000000 +0300
+++ linux-2.6.git/include/asm-arm/page.h	2008-02-27 20:38:59.000000000 +0300
@@ -10,9 +10,11 @@
 #ifndef _ASMARM_PAGE_H
 #define _ASMARM_PAGE_H
 
+#include <linux/const.h>
+
 /* PAGE_SHIFT determines the page size */
 #define PAGE_SHIFT		12
-#define PAGE_SIZE		(1UL << PAGE_SHIFT)
+#define PAGE_SIZE		(_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK		(~(PAGE_SIZE-1))
 
 /* to align the pointer to the (next) page boundary */

-- 

^ permalink raw reply

* [RFC 00/10] vmlinux.lds cleanup
From: gorcunov @ 2008-02-27 20:58 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam

This series of patches is made in purpose to use PAGE_SIZE and THREAD_SIZE
macroses in vmlinux linker scripts as much as possible instead of numeric
constants. Please review.

        WARNING: the patches are UNTESTED COMPLETELY - I've no access to
        that architectures and errors is highly possible ;)

	If you have an ability to test this patches - please do it.
	What is most important on review - these macroses *must* be
	placed into appropriate places - check it please.

	ANY comments are welcome.

		- Cyrill -

-- 

^ permalink raw reply

* [RFC 0/0] vmlinux cleanup
From: gorcunov @ 2008-02-27 20:48 UTC (permalink / raw)
  To: rth, chris, jdike, linuxppc-dev, paulus, dhowells, zippel, geert,
	linux-m68k, takata, linux-m32r, linux-kernel
  Cc: gorcunov, sam

This series of patches is made in purpose to use PAGE_SIZE and THREAD_SIZE
macroses in vmlinux linker scripts as much as possible instead of numeric
constants. Please review.

	WARNING: the patches are UNTESTED COMPLETELY - I've no access to
	that architectures and errors is highly possible ;)

	If you have an ability to test this patches - please do it.
	What is most important on review - these macroses *must* be
	placed into appropriate places - check it please.

	ANY comments are welcome.

		- Cyrill -
-- 

^ permalink raw reply

* Re: [PATCH] Fix for Freescale ppc cores: major revision detection
From: Martin Langer @ 2008-02-27 20:40 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18371.60089.808367.553892@cargo.ozlabs.ibm.com>

On Tue, Feb 26, 2008 at 09:32:25PM +1100, Paul Mackerras wrote:
> Martin Langer writes:
> 
> Care to resend this with a proper description and a Signed-off-by
> line?

Sure.

> > +		switch (PVR_VER(pvr)) {
> > +			case 0x8000:	/* 7441/7450/7451, Vger */
> > +			case 0x8001:	/* 7445/7455, Apollo 6 */
> > +			case 0x8002:	/* 7447/7457, Apollo 7 */
> > +			case 0x8003:	/* 7447A, Apollo 7 PM */
> > +			case 0x8004:	/* 7448, Apollo 8 */
> > +			case 0x800c:	/* 7410, Nitro */
> 
> BTW, these case labels are all indented one tab too far.

Ok. Now it's fixed.


The major revision number of some ppc cores by Freescale is placed in 
the configuration field instead of the major revision field. The patch 
corrects the behaviour for those 74xx cores.

Signed-off-by: Martin Langer <martin-langer@gmx.de>


--- setup-common.c.ORIGINAL	2008-02-08 22:22:56.000000000 +0100
+++ setup-common.c	2008-02-27 21:21:44.000000000 +0100
@@ -241,8 +241,21 @@
 	/* If we are a Freescale core do a simple check so
 	 * we dont have to keep adding cases in the future */
 	if (PVR_VER(pvr) & 0x8000) {
-		maj = PVR_MAJ(pvr);
-		min = PVR_MIN(pvr);
+		switch (PVR_VER(pvr)) {
+		case 0x8000:	/* 7441/7450/7451, Voyager */
+		case 0x8001:	/* 7445/7455, Apollo 6 */
+		case 0x8002:	/* 7447/7457, Apollo 7 */
+		case 0x8003:	/* 7447A, Apollo 7 PM */
+		case 0x8004:	/* 7448, Apollo 8 */
+		case 0x800c:	/* 7410, Nitro */
+			maj = ((pvr >> 8) & 0xF);
+			min = PVR_MIN(pvr);
+			break;
+		default:	/* e500/book-e */
+			maj = PVR_MAJ(pvr);
+			min = PVR_MIN(pvr);
+			break;
+		}
 	} else {
 		switch (PVR_VER(pvr)) {
 			case 0x0020:	/* 403 family */

^ permalink raw reply

* ospfd minimal daemon
From: DI BACCO ANTONIO - technolabs @ 2008-02-27 20:33 UTC (permalink / raw)
  To: linuxppc-embedded

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

Anyone knows of a minimal ospfd daemon ? I mean a small footprint ospfd.

Thank you,
Antonio.





[-- Attachment #2: Type: text/html, Size: 500 bytes --]

^ permalink raw reply

* Re: [dtc] breaking out libfdt from dtc so other progs can use it
From: Josh Boyer @ 2008-02-27 20:31 UTC (permalink / raw)
  To: jyoung5; +Cc: linuxppc-dev
In-Reply-To: <1204141243.18831.12.camel@thinkpad.austin.ibm.com>

On Wed, 27 Feb 2008 13:40:43 -0600
Jerone Young <jyoung5@us.ibm.com> wrote:

> Currently the dtc source code has libfdt integrated in it. This seems to
> have become place for upstream libfdt changes. Now we all know everyone
> (linux kernel, cuboot) also have their own versions over libfdt. But if
> another userspace app wants to use libfdt , it has to copy it from the
> dtc source and try to maintain it's own copy.
> 
> The question I have is can libfdt be split out from dtc source, and
> become it's own thing. This way other userspace apps can easily download
> it and link with it?

Downloading isn't changed at all by splitting it out to it's own repo.

> The reason I ask is I have added dynamic manipulation support of device
> trees in memory into qemu for KVM. But the issue is keeping a copy of
> libfdt in the KVM userspace repository, which is getting some opposition
> (understandably). But this would be much easier if there was a libfdt
> repo for the library so that we wouldn't need to keep our own copy.

It seems the real crux of your issue is that you want distros to
provide a libfdt package.  That can be done by creating a subpackage
off of the dtc package.  The harder part for certain distros will be
either convincing them to allow the static libfdt to exist, or creating
a shared library for it instead.

josh

^ permalink raw reply

* Re: copy_from_user problem
From: Benjamin Herrenschmidt @ 2008-02-27 20:24 UTC (permalink / raw)
  To: Maynard Johnson; +Cc: linuxppc-dev
In-Reply-To: <47C5574D.2090409@us.ibm.com>


On Wed, 2008-02-27 at 06:27 -0600, Maynard Johnson wrote:
> Can't do that in the "real" code I'm developing, so I guess I'll need to 
> use get_user_pages.  Hmmm . . . not quite as simple to use as 
> copy_from_user, and I don't see any doc on it.  But at least I've found 
> a couple examples in the kernel tree.

We can help you if you tell us more about the "real" code.

Ben.

^ permalink raw reply

* Re: [PATCH 1/2] firewire: endianess fix
From: Jarod Wilson @ 2008-02-27 20:21 UTC (permalink / raw)
  To: Stefan Richter
  Cc: Kristian Hoegsberg, linux-kernel, linuxppc-dev, sparclinux,
	linux1394-devel, Sam Ravnborg, Harvey Harrison
In-Reply-To: <47C5C340.7080302@s5r6.in-berlin.de>

On Wednesday 27 February 2008 03:08:32 pm Stefan Richter wrote:
> Jarod Wilson wrote:
> > Works just fine with the Apple UniNorth controller in my powerbook in
> > cursory testing.
>
> Could you remove the OHCI1394_HCControl_postedWriteEnable flag from
> fw-ohci.c::ohci_enable() and test without and with the endianess patch?

Sure, added to the todo list along with making sure things survive bus resets.

-- 
Jarod Wilson
jwilson@redhat.com

^ permalink raw reply

* Re: [PATCH 1/2] firewire: endianess fix
From: Stefan Richter @ 2008-02-27 20:08 UTC (permalink / raw)
  To: Jarod Wilson
  Cc: Kristian Hoegsberg, linux-kernel, linuxppc-dev, sparclinux,
	linux1394-devel, Sam Ravnborg, Harvey Harrison
In-Reply-To: <200802271458.28401.jwilson@redhat.com>

Jarod Wilson wrote:
> Works just fine with the Apple UniNorth controller in my powerbook in cursory 
> testing.

Could you remove the OHCI1394_HCControl_postedWriteEnable flag from 
fw-ohci.c::ohci_enable() and test without and with the endianess patch?
-- 
Stefan Richter
-=====-==--- --=- ==-==
http://arcgraph.de/sr/

^ permalink raw reply

* Re: [PATCH 1/2] firewire: endianess fix
From: Jarod Wilson @ 2008-02-27 19:58 UTC (permalink / raw)
  To: Stefan Richter
  Cc: Kristian Hoegsberg, linux-kernel, linuxppc-dev, sparclinux,
	linux1394-devel, Sam Ravnborg, Harvey Harrison
In-Reply-To: <tkrat.9e19fa31951506af@s5r6.in-berlin.de>

On Saturday 23 February 2008 06:24:17 am Stefan Richter wrote:
> The generation of incoming requests was filled in in wrong byte order on
> machines with big endian CPU.
>
> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
> Cc: sparclinux@vger.kernel.org
> Cc: linuxppc-dev@ozlabs.org
> ---
>
> This patch is a shot in the dark, based on a warning when building with
> C=1 CHECKFLAGS="-D__CHECK_ENDIAN__".  Is it really a fix, or was the
> previous code accidentally correct?
>
> This needs to be tested on different big endian PCs, if possible with
> the Apple Uninorth FireWire controller and other types of controllers.
> One test which involves ohci->request_generation is simply with an SBP-2
> device (harddisk, CD-ROM...).  Does SBP-2 login etc. work?

Works just fine with the Apple UniNorth controller in my powerbook in cursory 
testing. Tested with multiple sbp2 hard disks, plugging and unplugging, 
mounting and unmounting, etc.

> If possible, also test whether the device remains accessible after
> forcing a bus reset, e.g. by "echo br short > firecontrol".  You need
> the easy to build utility firecontrol and a libraw1394 with "juju"
> backend.  See wiki.linux1394.org for directions.

Forgot to check that it survived bus resets. Will try to double-check that 
tonight. I don't have any other ppc systems w/firewire controllers handy at 
the moment to try other controllers, but can probably manage to get one set 
up soon...

-- 
Jarod Wilson
jwilson@redhat.com

^ permalink raw reply

* [dtc] breaking out libfdt from dtc so other progs can use it
From: Jerone Young @ 2008-02-27 19:40 UTC (permalink / raw)
  To: linuxppc-dev

Currently the dtc source code has libfdt integrated in it. This seems to
have become place for upstream libfdt changes. Now we all know everyone
(linux kernel, cuboot) also have their own versions over libfdt. But if
another userspace app wants to use libfdt , it has to copy it from the
dtc source and try to maintain it's own copy.

The question I have is can libfdt be split out from dtc source, and
become it's own thing. This way other userspace apps can easily download
it and link with it?

The reason I ask is I have added dynamic manipulation support of device
trees in memory into qemu for KVM. But the issue is keeping a copy of
libfdt in the KVM userspace repository, which is getting some opposition
(understandably). But this would be much easier if there was a libfdt
repo for the library so that we wouldn't need to keep our own copy.

^ permalink raw reply

* Re: [PATCH] [POWERPC] [v2] Xilinx: hwicap: cleanup
From: Grant Likely @ 2008-02-27 18:20 UTC (permalink / raw)
  To: Stephen Neuendorffer, Josh Boyer
  Cc: linuxppc-dev, git-dev, linux-kernel, jirislaby
In-Reply-To: <20080224233457.C983D78006D@mail33-sin.bigfish.com>

On Sun, Feb 24, 2008 at 4:34 PM, Stephen Neuendorffer
<stephen.neuendorffer@xilinx.com> wrote:
> Fix some missing __user tags and incorrect section tags.
>  Convert semaphores to mutexes.
>  Make probed_devices re-entrancy and error condition safe.
>  Fix some backwards memcpys.
>  Some other minor cleanups.
>  Use kerneldoc format.
>
>  [v2]
>  __user char => char __user
>  removed unused hwicap_command_capture
>  Fixed a comment that didn't match the function name
>  fixed argument with 'register' keyword.
>
>
>  Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>

Acked-by: Grant Likely <grant.likely@secretlab.ca>

Josh, can you please pick this up?

Thanks,
g.


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply

* Re: 2.6.25-rc3 on mpc8548amc doesn't boot
From: maxime louvel @ 2008-02-27 16:25 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <dda529d0802270437o3ea1c9beld7d65f5af2011a6f@mail.gmail.com>

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

Hi again,

I am answering my self sorry for the spam...
Just to say that my problem has been solve if someone has something
similar...
My changes were good, I just didn't compile the good file...

cheers,
Maxime

On Wed, Feb 27, 2008 at 12:37 PM, maxime louvel <m.louvel@gmail.com> wrote:

> Hi,
>
> I am still trying to make a 2.6.25-rc3 vanilla kernel boot (an work fine
> in a second time) on a mpc8548amc board.
> I have add the platform specific stuff from the sources of the current
> kernel running on the cards.
> What I have basically add is:
> - arch/powerpc/platforms/85xx/mpc85xx_amc.c
> - arch/powerpc/boot/dts/mpc8548amc.dts
> I have also changed the Kconfig and Makefile in the
> arch/powerpc/platforms/85xx to make the kernel try to support my board
>
> I have encountered some problem when compiling a uImage that I have
> basically solve like this (in arch/powerpc/boot/Makefile)
> #$(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
> #$(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
> #$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
> #$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
> #$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
>
> I have a gcc-3.4.3 embedded compiler with some stuff specific to the
> platform.
>
> After the previous hack, I have been able to compile a uImage.
>
> I have tried to boot it and this is what I got:
> AMC=> bootm 0x1000000
> ## Booting image at 01000000 ...
>   Image Name:   Linux-2.6.24
>   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>   Data Size:    1802038 Bytes =  1.7 MB
>   Load Address: 00000000
>   Entry Point:  00000000
>   Verifying Checksum ... OK
>   Uncompressing Kernel Image ... OK
>
> No further messages...
>
> I have recently updated the uboot of the cards (to support the new image
> version) and I am capable of booting a 2.6.23.6 image.
> This last image has been compiled from a vanilla kernel where I have add
> the platform specific stuff (cf beginning of this mail).
>
> Since my 2.6.23.6 image works fine, I have tried to adapt the file I have
> added to the 2.6.25-rc3 kernel.
>
> I have made some changes in the arch/powerpc/platforms/85xx/mpc85xx_amc.c
> file and in the mpc8548amc.dts file.
> I have attached the changes I have done on both files.
>
> Do you have an idea ?
>
> cheers,
> Maxime
>
> --
> Maxime Louvel
> 0044 7964 5555 80
> 43 Allen road
> Whitemore reans
> WV60AW Wolverhampton
> United Kingdom




-- 
Maxime Louvel
0044 7964 5555 80
43 Allen road
Whitemore reans
WV60AW Wolverhampton
United Kingdom

[-- Attachment #2: Type: text/html, Size: 3077 bytes --]

^ permalink raw reply

* patchwork missing patches?
From: Josh Boyer @ 2008-02-27 15:39 UTC (permalink / raw)
  To: jk; +Cc: linuxppc-dev

I'm trying to find some patches that went to the list recently in
patchwork and they seem to be missing.  Here are a few:

http://ozlabs.org/pipermail/linuxppc-dev/2008-February/052196.html
http://ozlabs.org/pipermail/linuxppc-dev/2008-February/052164.html
http://ozlabs.org/pipermail/linuxppc-dev/2008-February/052129.html
http://ozlabs.org/pipermail/linuxppc-dev/2008-February/052050.html

There might be more.  Maybe I'm just blind, but I can't find them at
all in patchwork.

josh

^ permalink raw reply

* [PATCH] m8xx_pcmcia: remove unused CONFIG_ variables
From: Marcelo Tosatti @ 2008-02-27 15:21 UTC (permalink / raw)
  To: Robert P. J. Day, Paul Mackerras; +Cc: linux-ppc-embedded
In-Reply-To: <Pine.LNX.4.64.0707111932060.30119@localhost.localdomain>



Remove obsolete CONFIG_ usage in m8xx_pcmcia.c. 

Please apply.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>


diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index 9721ed7..37e0b56 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -84,12 +84,6 @@ #define CONFIG_PCMCIA_SLOT_B
 #define CONFIG_BD_IS_MHZ
 #endif
 
-/* The ADS board use SLOT_A */
-#ifdef CONFIG_ADS
-#define CONFIG_PCMCIA_SLOT_A
-#define CONFIG_BD_IS_MHZ
-#endif
-
 /* The FADS series are a mess */
 #ifdef CONFIG_FADS
 #if defined(CONFIG_MPC860T) || defined(CONFIG_MPC860) || defined(CONFIG_MPC821)
@@ -104,12 +98,6 @@ #define CONFIG_PCMCIA_SLOT_A
 #define PCMCIA_GLITCHY_CD
 #endif
 
-/* Cyclades ACS uses both slots */
-#ifdef CONFIG_PRxK
-#define CONFIG_PCMCIA_SLOT_A
-#define CONFIG_PCMCIA_SLOT_B
-#endif
-
 #endif /* !defined(CONFIG_PCMCIA_SLOT_A) && !defined(CONFIG_PCMCIA_SLOT_B) */
 
 #if defined(CONFIG_PCMCIA_SLOT_A) && defined(CONFIG_PCMCIA_SLOT_B)

^ permalink raw reply related

* Re: [PATCH] PowerPC 44x: add missing define TARGET_4xx and TARGET_440GX to cuboot-taishan.c
From: Josh Boyer @ 2008-02-27 14:57 UTC (permalink / raw)
  To: Valentine Barshak; +Cc: linuxppc-dev
In-Reply-To: <20080226145853.GA18212@ru.mvista.com>

On Tue, 26 Feb 2008 17:58:53 +0300
Valentine Barshak <vbarshak@ru.mvista.com> wrote:

> In order to get the proper boad info (bd_info) structure defined in ppcboot.h
> both TARGET_4xx and TARGET_44x should be defined for all PowerPC 440 boards.
> The 440GX boards also need TARGET_440GX defined since they have 4 EMACs and
> there are 4 MAC addesses in bd_info passed by u-boot.

Thanks, looks much better.  I'll send this to Paul later today.

josh

^ permalink raw reply


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