X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fvmlinux.lds.S;h=6d6436a6b624e2da48c0edd38780b9fed2b396a6;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=94dcc03a28edb024cfdf04c459a3485436d8290e;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index 94dcc03a2..6d6436a6b 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S @@ -6,7 +6,6 @@ * Copyright (C) 2000 Michael Ang * Copyright (C) 2002 Randolph Chung * Copyright (C) 2003 James Bottomley - * Copyright (C) 2006 Helge Deller * * * This program is free software; you can redistribute it and/or modify @@ -28,7 +27,6 @@ /* needed for the processor specific cache alignment size */ #include #include -#include /* ld script to make hppa Linux kernel */ #ifndef CONFIG_64BIT @@ -70,7 +68,7 @@ SECTIONS RODATA /* writeable */ - . = ALIGN(ASM_PAGE_SIZE); /* Make sure this is page aligned so + . = ALIGN(4096); /* Make sure this is page aligned so that we can properly leave these as writable */ data_start = .; @@ -83,17 +81,23 @@ SECTIONS __start___unwind = .; /* unwind info */ .PARISC.unwind : { *(.PARISC.unwind) } __stop___unwind = .; - - /* rarely changed data like cpu maps */ - . = ALIGN(16); - .data.read_mostly : { *(.data.read_mostly) } - - . = ALIGN(L1_CACHE_BYTES); + .data : { /* Data */ *(.data) + *(.data.vm0.pmd) + *(.data.vm0.pgd) + *(.data.vm0.pte) CONSTRUCTORS } + . = ALIGN(4096); + /* nosave data is really only used for software suspend...it's here + * just in case we ever implement it */ + __nosave_begin = .; + .data_nosave : { *(.data.nosave) } + . = ALIGN(4096); + __nosave_end = .; + . = ALIGN(L1_CACHE_BYTES); .data.cacheline_aligned : { *(.data.cacheline_aligned) } @@ -101,29 +105,12 @@ SECTIONS . = ALIGN(16); .data.lock_aligned : { *(.data.lock_aligned) } - . = ALIGN(ASM_PAGE_SIZE); - /* nosave data is really only used for software suspend...it's here - * just in case we ever implement it */ - __nosave_begin = .; - .data_nosave : { *(.data.nosave) } - . = ALIGN(ASM_PAGE_SIZE); - __nosave_end = .; + /* rarely changed data like cpu maps */ + . = ALIGN(16); + .data.read_mostly : { *(.data.read_mostly) } _edata = .; /* End of data section */ - __bss_start = .; /* BSS */ - /* page table entries need to be PAGE_SIZE aligned */ - . = ALIGN(ASM_PAGE_SIZE); - .data.vmpages : { - *(.data.vm0.pmd) - *(.data.vm0.pgd) - *(.data.vm0.pte) - } - .bss : { *(.bss) *(COMMON) } - __bss_stop = .; - - - /* assembler code expects init_task to be 16k aligned */ . = ALIGN(16384); /* init_task */ .data.init_task : { *(.data.init_task) } @@ -139,7 +126,6 @@ SECTIONS .dlt : { *(.dlt) } #endif - /* reserve space for interrupt stack by aligning __init* to 16k */ . = ALIGN(16384); __init_begin = .; .init.text : { @@ -180,7 +166,7 @@ SECTIONS from .altinstructions and .eh_frame */ .exit.text : { *(.exit.text) } .exit.data : { *(.exit.data) } - . = ALIGN(ASM_PAGE_SIZE); + . = ALIGN(4096); __initramfs_start = .; .init.ramfs : { *(.init.ramfs) } __initramfs_end = .; @@ -188,10 +174,14 @@ SECTIONS __per_cpu_start = .; .data.percpu : { *(.data.percpu) } __per_cpu_end = .; - . = ALIGN(ASM_PAGE_SIZE); + . = ALIGN(4096); __init_end = .; /* freed after init ends here */ + __bss_start = .; /* BSS */ + .bss : { *(.bss) *(COMMON) } + __bss_stop = .; + _end = . ; /* Sections to be discarded */