lkml.org 
[lkml]   [2013]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3, part4 06/39] tile: normalize global variables exported by vmlinux.lds
    Date
    Normalize global variables exported by vmlinux.lds to conform usage
    guidelines from include/asm-generic/sections.h.

    1) Use _text to mark the start of the kernel image including the head
    text, and _stext to mark the start of the .text section.
    2) Export mandatory global variables __init_begin and __init_end.

    Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
    Cc: Chris Metcalf <cmetcalf@tilera.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Wen Congyang <wency@cn.fujitsu.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: linux-kernel@vger.kernel.org
    ---
    Hi all,
    Sorry for my mistake that my previous patch series has been screwed up.
    So I regenerate a third version and also set up a git tree at:
    git://github.com/jiangliu/linux.git mem_init
    Any help to review and test are welcomed!

    Regards!
    Gerry
    ---
    arch/tile/include/asm/sections.h | 2 +-
    arch/tile/kernel/setup.c | 4 ++--
    arch/tile/kernel/vmlinux.lds.S | 4 +++-
    arch/tile/mm/init.c | 2 +-
    4 files changed, 7 insertions(+), 5 deletions(-)

    diff --git a/arch/tile/include/asm/sections.h b/arch/tile/include/asm/sections.h
    index d062d46..7d8a935 100644
    --- a/arch/tile/include/asm/sections.h
    +++ b/arch/tile/include/asm/sections.h
    @@ -34,7 +34,7 @@ extern char __sys_cmpxchg_grab_lock[];
    extern char __start_atomic_asm_code[], __end_atomic_asm_code[];
    #endif

    -/* Handle the discontiguity between _sdata and _stext. */
    +/* Handle the discontiguity between _sdata and _text. */
    static inline int arch_is_kernel_data(unsigned long addr)
    {
    return addr >= (unsigned long)_sdata &&
    diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c
    index d1e15f7..a986b71 100644
    --- a/arch/tile/kernel/setup.c
    +++ b/arch/tile/kernel/setup.c
    @@ -307,8 +307,8 @@ static void __cpuinit store_permanent_mappings(void)
    hv_store_mapping(addr, pages << PAGE_SHIFT, pa);
    }

    - hv_store_mapping((HV_VirtAddr)_stext,
    - (uint32_t)(_einittext - _stext), 0);
    + hv_store_mapping((HV_VirtAddr)_text,
    + (uint32_t)(_einittext - _text), 0);
    }

    /*
    diff --git a/arch/tile/kernel/vmlinux.lds.S b/arch/tile/kernel/vmlinux.lds.S
    index 631f10d..a13ed90 100644
    --- a/arch/tile/kernel/vmlinux.lds.S
    +++ b/arch/tile/kernel/vmlinux.lds.S
    @@ -27,7 +27,6 @@ SECTIONS
    .intrpt1 (LOAD_OFFSET) : AT ( 0 ) /* put at the start of physical memory */
    {
    _text = .;
    - _stext = .;
    *(.intrpt1)
    } :intrpt1 =0

    @@ -36,6 +35,7 @@ SECTIONS

    /* Now the real code */
    . = ALIGN(0x20000);
    + _stext = .;
    .text : AT (ADDR(.text) - LOAD_OFFSET) {
    HEAD_TEXT
    SCHED_TEXT
    @@ -58,11 +58,13 @@ SECTIONS
    #define LOAD_OFFSET PAGE_OFFSET

    . = ALIGN(PAGE_SIZE);
    + __init_begin = .;
    VMLINUX_SYMBOL(_sinitdata) = .;
    INIT_DATA_SECTION(16) :data =0
    PERCPU_SECTION(L2_CACHE_BYTES)
    . = ALIGN(PAGE_SIZE);
    VMLINUX_SYMBOL(_einitdata) = .;
    + __init_end = .;

    _sdata = .; /* Start of data section */

    diff --git a/arch/tile/mm/init.c b/arch/tile/mm/init.c
    index 45ce26d..f2ac2f4 100644
    --- a/arch/tile/mm/init.c
    +++ b/arch/tile/mm/init.c
    @@ -562,7 +562,7 @@ static void __init kernel_physical_mapping_init(pgd_t *pgd_base)
    prot = ktext_set_nocache(prot);
    }

    - BUG_ON(address != (unsigned long)_stext);
    + BUG_ON(address != (unsigned long)_text);
    pte = NULL;
    for (; address < (unsigned long)_einittext;
    pfn++, address += PAGE_SIZE) {
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2013-03-26 19:01    [W:4.400 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site