vmlinux.lds.S 2.3 KB

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