vmlinux.lds.S 987 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include <asm-generic/vmlinux.lds.h>
  2. #include <asm/page.h>
  3. #define ROMTOP 0x000000
  4. #define RAMTOP 0x400000
  5. jiffies = jiffies_64 + 4;
  6. ENTRY(_start)
  7. SECTIONS
  8. {
  9. #if defined(CONFIG_ROMKERNEL)
  10. . = ROMTOP;
  11. .vectors :
  12. {
  13. _vector = . ;
  14. *(.vector*)
  15. }
  16. #else
  17. . = RAMTOP;
  18. _ramstart = .;
  19. . = . + CONFIG_OFFSET;
  20. #endif
  21. _text = .;
  22. HEAD_TEXT_SECTION
  23. .text : {
  24. _stext = . ;
  25. TEXT_TEXT
  26. SCHED_TEXT
  27. LOCK_TEXT
  28. #if defined(CONFIG_ROMKERNEL)
  29. *(.int_redirect)
  30. #endif
  31. _etext = . ;
  32. }
  33. EXCEPTION_TABLE(16)
  34. NOTES
  35. RO_DATA_SECTION(4)
  36. ROMEND = .;
  37. #if defined(CONFIG_ROMKERNEL)
  38. . = RAMTOP;
  39. _ramstart = .;
  40. #define ADDR(x) ROMEND
  41. #else
  42. #endif
  43. _sdata = . ;
  44. __data_start = . ;
  45. RW_DATA_SECTION(0,0,0)
  46. #if defined(CONFIG_ROMKERNEL)
  47. #undef ADDR
  48. #endif
  49. . = ALIGN(0x4) ;
  50. __init_begin = .;
  51. INIT_TEXT_SECTION(4)
  52. INIT_DATA_SECTION(4)
  53. SECURITY_INIT
  54. __init_end = .;
  55. _edata = . ;
  56. _begin_data = LOADADDR(.data);
  57. _sbss =.;
  58. BSS_SECTION(0, 0 ,0)
  59. _ebss =.;
  60. _ramend = .;
  61. _end = .;
  62. DISCARDS
  63. }