linux/arch/cris/arch-v32/vmlinux.lds.S
<<
>>
Prefs
   1/* ld script to make the Linux/CRIS kernel
   2 * Authors: Bjorn Wesen (bjornw@axis.com)
   3 *
   4 * It is VERY DANGEROUS to fiddle around with the symbols in this
   5 * script. It is for example quite vital that all generated sections
   6 * that are used are actually named here, otherwise the linker will
   7 * put them at the end, where the init stuff is which is FREED after
   8 * the kernel has booted.
   9 */
  10
  11#include <asm-generic/vmlinux.lds.h>
  12#include <asm/page.h>
  13
  14#ifdef CONFIG_ETRAX_VMEM_SIZE
  15#define __CONFIG_ETRAX_VMEM_SIZE CONFIG_ETRAX_VMEM_SIZE
  16#else
  17#define __CONFIG_ETRAX_VMEM_SIZE 0
  18#endif
  19
  20jiffies = jiffies_64;
  21SECTIONS
  22{
  23        . = DRAM_VIRTUAL_BASE;
  24        dram_start = .;
  25        ebp_start = .;
  26
  27        /* The boot section is only necessary until the VCS top */
  28        /* level testbench includes both flash and DRAM. */
  29        .boot : { *(.boot) }
  30
  31        /* See head.S and pages reserved at the start. */
  32        . = DRAM_VIRTUAL_BASE + 0x4000;
  33
  34        _text = .;              /* Text and read-only data. */
  35        text_start = .;         /* Lots of aliases. */
  36        _stext = .;
  37        __stext = .;
  38        .text : {
  39                TEXT_TEXT
  40                SCHED_TEXT
  41                LOCK_TEXT
  42                *(.fixup)
  43                *(.text.__*)
  44        }
  45
  46        _etext = . ;            /* End of text section. */
  47        __etext = .;
  48
  49        . = ALIGN(4);           /* Exception table. */
  50        __start___ex_table = .;
  51        __ex_table : { *(__ex_table) }
  52        __stop___ex_table = .;
  53
  54        RODATA
  55
  56        . = ALIGN (4);
  57        ___data_start = . ;
  58        __Sdata = . ;
  59        .data : {                     /* Data */
  60                DATA_DATA
  61        }
  62        __edata = . ;           /* End of data section. */
  63        _edata = . ;
  64
  65        . = ALIGN(PAGE_SIZE);   /* init_task and stack, must be aligned. */
  66        .data.init_task : { *(.data.init_task) }
  67
  68        . = ALIGN(PAGE_SIZE);   /* Init code and data. */
  69        __init_begin = .;
  70        .init.text : {
  71                   _sinittext = .;
  72                   INIT_TEXT
  73                   _einittext = .;
  74        }
  75        .init.data : { INIT_DATA }
  76        . = ALIGN(16);
  77        __setup_start = .;
  78        .init.setup : { *(.init.setup) }
  79        __setup_end = .;
  80        __start___param = .;
  81        __param : { *(__param) }
  82        __stop___param = .;
  83        .initcall.init : {
  84                __initcall_start = .;
  85                INITCALLS
  86                __initcall_end = .;
  87        }
  88
  89        .con_initcall.init : {
  90                __con_initcall_start = .;
  91                *(.con_initcall.init)
  92                __con_initcall_end = .;
  93        }
  94        SECURITY_INIT
  95
  96        __vmlinux_end = .;      /* Last address of the physical file. */
  97        PERCPU(PAGE_SIZE)
  98
  99        .init.ramfs : {
 100                __initramfs_start = .;
 101                *(.init.ramfs)
 102                __initramfs_end = .;
 103        }
 104
 105        /*
 106         * We fill to the next page, so we can discard all init
 107         * pages without needing to consider what payload might be
 108         * appended to the kernel image.
 109         */
 110        . = ALIGN (PAGE_SIZE);
 111
 112        __init_end = .;
 113
 114        __data_end = . ;        /* Move to _edata? */
 115        __bss_start = .;        /* BSS. */
 116        .bss : {
 117                *(COMMON)
 118                *(.bss)
 119        }
 120
 121        . =  ALIGN (0x20);
 122        _end = .;
 123        __end = .;
 124
 125        /* Sections to be discarded */
 126        /DISCARD/ : {
 127                EXIT_TEXT
 128                EXIT_DATA
 129                *(.exitcall.exit)
 130        }
 131
 132        dram_end = dram_start + (CONFIG_ETRAX_DRAM_SIZE - __CONFIG_ETRAX_VMEM_SIZE)*1024*1024;
 133}
 134
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.