Merge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 15:32:05 +0000 (08:32 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 15:32:05 +0000 (08:32 -0700)
* 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score:
  score: update email address in MAINTAINERS.
  score: Cleanup linker script using new macros.
  score: Make THREAD_SIZE available to assembly files.
  score: Make PAGE_SIZE available to assembly.

MAINTAINERS
arch/score/include/asm/page.h
arch/score/include/asm/thread_info.h
arch/score/kernel/vmlinux.lds.S

index d8973ca86f2a495646dd91e81b16d3bcc5701a0c..ed6cd99a57badb6291c1f702f4446b3a9a4c0ed4 100644 (file)
@@ -4465,7 +4465,7 @@ SCORE ARCHITECTURE
 P:     Chen Liqin
 M:     liqin.chen@sunplusct.com
 P:     Lennox Wu
-M:     lennox.wu@sunplusct.com
+M:     lennox.wu@gmail.com
 W:     http://www.sunplusct.com
 S:     Supported
 
index ee5821042fcc947d0994a9c6c6c7a6118cf84d4f..d92a5a2d36d40c434ee833543275b6e296ef192b 100644 (file)
@@ -2,10 +2,11 @@
 #define _ASM_SCORE_PAGE_H
 
 #include <linux/pfn.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))
 
 #ifdef __KERNEL__
index 3a1122885528b97cee66228d1eb2192357e0764e..55939992c27db5c74f402cb5ea6ef6abb55b5494 100644 (file)
@@ -7,6 +7,15 @@
 #define KU_USER        0x08
 #define KU_KERN        0x00
 
+#include <asm/page.h>
+#include <linux/const.h>
+
+/* thread information allocation */
+#define THREAD_SIZE_ORDER      (1)
+#define THREAD_SIZE            (PAGE_SIZE << THREAD_SIZE_ORDER)
+#define THREAD_MASK            (THREAD_SIZE - _AC(1,UL))
+#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
+
 #ifndef __ASSEMBLY__
 
 #include <asm/processor.h>
@@ -62,12 +71,6 @@ struct thread_info {
 register struct thread_info *__current_thread_info __asm__("r28");
 #define current_thread_info()  __current_thread_info
 
-/* thread information allocation */
-#define THREAD_SIZE_ORDER      (1)
-#define THREAD_SIZE            (PAGE_SIZE << THREAD_SIZE_ORDER)
-#define THREAD_MASK            (THREAD_SIZE - 1UL)
-#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
-
 #define alloc_thread_info(tsk) kmalloc(THREAD_SIZE, GFP_KERNEL)
 #define free_thread_info(info) kfree(info)
 
index f85569831d5c3014ccb5a181f71d5ae0097e4d1f..eebcbaa4e9783b1685c856fa794c63123344131a 100644 (file)
@@ -24,6 +24,8 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/thread_info.h>
+#include <asm/page.h>
 
 OUTPUT_ARCH(score)
 ENTRY(_stext)
@@ -49,21 +51,9 @@ SECTIONS
        . = ALIGN(16);
        RODATA
 
-       /* Exception table */
-       . = ALIGN(16);
-       __ex_table : {
-               __start___ex_table = .;
-               *(__ex_table)
-               __stop___ex_table = .;
-       }
+       EXCEPTION_TABLE(16)
 
-       /* writeable */
-       .data ALIGN (4096): {
-               *(.data.init_task)
-
-               DATA_DATA
-               CONSTRUCTORS
-       }
+       RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
 
        /* We want the small data sections together, so single-instruction offsets
           can access them all, and initialized data all before uninitialized, so
@@ -72,45 +62,14 @@ SECTIONS
        .sdata : {
                *(.sdata)
        }
-
-       . = ALIGN(32);
-       .data.cacheline_aligned : {
-               *(.data.cacheline_aligned)
-       }
        _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 = .;
 
-       . = ALIGN(4096);
-       .init.text : {
-               _sinittext = .;
-               INIT_TEXT
-               _einittext = .;
-       }
-       .init.data : {
-               INIT_DATA
-       }
-       . = ALIGN(16);
-       .init.setup : {
-               __setup_start = .;
-               *(.init.setup)
-               __setup_end = .;
-       }
-
-       .initcall.init : {
-               __initcall_start = .;
-               INITCALLS
-               __initcall_end = .;
-       }
-
-       .con_initcall.init : {
-               __con_initcall_start = .;
-               *(.con_initcall.init)
-               __con_initcall_end = .;
-       }
-       SECURITY_INIT
+       INIT_TEXT_SECTION(PAGE_SIZE)
+       INIT_DATA_SECTION(16)
 
        /* .exit.text is discarded at runtime, not link time, to deal with
         * references from .rodata
@@ -121,28 +80,10 @@ SECTIONS
        .exit.data : {
                EXIT_DATA
        }
-#if defined(CONFIG_BLK_DEV_INITRD)
-       .init.ramfs ALIGN(4096): {
-               __initramfs_start = .;
-               *(.init.ramfs)
-               __initramfs_end = .;
-               . = ALIGN(4);
-               LONG(0);
-       }
-#endif
-       . = ALIGN(4096);
+       . = ALIGN(PAGE_SIZE);
        __init_end = .;
        /* freed after init ends here */
 
-       __bss_start = .;        /* BSS */
-       .sbss  : {
-               *(.sbss)
-               *(.scommon)
-       }
-       .bss : {
-               *(.bss)
-               *(COMMON)
-       }
-       __bss_stop = .;
+       BSS_SECTION(0, 0, 0)
        _end = .;
 }