linux/arch/h8300/kernel/vmlinux.lds.S
<<
>>
Prefs
   1#define VMLINUX_SYMBOL(_sym_) _##_sym_
   2#include <asm-generic/vmlinux.lds.h>
   3#include <asm/page.h>
   4
   5/* target memory map */
   6#ifdef CONFIG_H8300H_GENERIC
   7#define ROMTOP  0x000000
   8#define ROMSIZE 0x400000
   9#define RAMTOP  0x400000
  10#define RAMSIZE 0x400000
  11#endif
  12
  13#ifdef CONFIG_H8300H_AKI3068NET
  14#define ROMTOP  0x000000
  15#define ROMSIZE 0x080000
  16#define RAMTOP  0x400000
  17#define RAMSIZE 0x200000
  18#endif
  19
  20#ifdef CONFIG_H8300H_H8MAX
  21#define ROMTOP  0x000000
  22#define ROMSIZE 0x080000
  23#define RAMTOP  0x400000
  24#define RAMSIZE 0x200000
  25#endif
  26
  27#ifdef CONFIG_H8300H_SIM
  28#define ROMTOP  0x000000
  29#define ROMSIZE 0x400000
  30#define RAMTOP  0x400000
  31#define RAMSIZE 0x400000
  32#endif
  33
  34#ifdef CONFIG_H8S_SIM
  35#define ROMTOP  0x000000
  36#define ROMSIZE 0x400000
  37#define RAMTOP  0x400000
  38#define RAMSIZE 0x800000
  39#endif
  40
  41#ifdef CONFIG_H8S_EDOSK2674
  42#define ROMTOP  0x000000
  43#define ROMSIZE 0x400000
  44#define RAMTOP  0x400000
  45#define RAMSIZE 0x800000
  46#endif
  47
  48#if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
  49INPUT(romfs.o)
  50#endif
  51
  52_jiffies = _jiffies_64 + 4;
  53
  54ENTRY(__start)
  55
  56SECTIONS
  57{
  58#if defined(CONFIG_ROMKERNEL)
  59        . = ROMTOP; 
  60        .vectors :
  61        {
  62        __vector = . ;
  63                *(.vectors*)
  64        }
  65#else
  66        . = RAMTOP; 
  67        .bootvec :      
  68        {
  69                *(.bootvec)
  70        }
  71#endif
  72        .text :
  73        {
  74        _text = .;
  75#if defined(CONFIG_ROMKERNEL)
  76        *(.int_redirect)
  77#endif
  78        __stext = . ;
  79        TEXT_TEXT
  80        SCHED_TEXT
  81        LOCK_TEXT
  82        __etext = . ;
  83        }
  84        EXCEPTION_TABLE(16)
  85
  86        RODATA
  87#if defined(CONFIG_ROMKERNEL)
  88        SECURITY_INIT
  89#endif
  90        ROEND = .; 
  91#if defined(CONFIG_ROMKERNEL)
  92        . = RAMTOP;
  93        .data : AT(ROEND)
  94#else
  95        .data : 
  96#endif
  97        {
  98        __sdata = . ;
  99        ___data_start = . ;
 100
 101        INIT_TASK_DATA(0x2000)
 102        . = ALIGN(0x4) ;
 103                DATA_DATA
 104        . = ALIGN(0x4) ;
 105                *(.data.*)      
 106
 107        . = ALIGN(0x4) ;
 108        ___init_begin = .;
 109        __sinittext = .; 
 110                INIT_TEXT
 111        __einittext = .; 
 112                INIT_DATA
 113        . = ALIGN(0x4) ;
 114        INIT_SETUP(0x4)
 115        ___setup_start = .;
 116                *(.init.setup)
 117        . = ALIGN(0x4) ;
 118        ___setup_end = .;
 119        INIT_CALLS
 120        CON_INITCALL
 121                EXIT_TEXT
 122                EXIT_DATA
 123        INIT_RAM_FS
 124        . = ALIGN(0x4) ;
 125        ___init_end = .;
 126        __edata = . ;
 127        }
 128#if defined(CONFIG_RAMKERNEL)
 129        SECURITY_INIT
 130#endif
 131        __begin_data = LOADADDR(.data);
 132        .bss : 
 133        {
 134        . = ALIGN(0x4) ;
 135        __sbss = . ;
 136                *(.bss*)
 137        . = ALIGN(0x4) ;
 138                *(COMMON)
 139        . = ALIGN(0x4) ;
 140        __ebss = . ;
 141        __end = . ;
 142        __ramstart = .;
 143        }
 144        .romfs :        
 145        {
 146                *(.romfs*)
 147        }
 148        . = RAMTOP+RAMSIZE;
 149        .dummy :
 150        {
 151        COMMAND_START = . - 0x200 ;
 152        __ramend = . ;
 153        }
 154
 155        DISCARDS
 156}
 157