vmlinux.lds.S 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <asm/vmlinux.lds.h>
  3. #include <asm/page.h>
  4. OUTPUT_ARCH(csky)
  5. ENTRY(_start)
  6. #ifndef __cskyBE__
  7. jiffies = jiffies_64;
  8. #else
  9. jiffies = jiffies_64 + 4;
  10. #endif
  11. #define VBR_BASE \
  12. . = ALIGN(1024); \
  13. vec_base = .; \
  14. . += 512;
  15. SECTIONS
  16. {
  17. . = PAGE_OFFSET + PHYS_OFFSET_OFFSET;
  18. _stext = .;
  19. __init_begin = .;
  20. HEAD_TEXT_SECTION
  21. INIT_TEXT_SECTION(PAGE_SIZE)
  22. INIT_DATA_SECTION(PAGE_SIZE)
  23. PERCPU_SECTION(L1_CACHE_BYTES)
  24. . = ALIGN(PAGE_SIZE);
  25. __init_end = .;
  26. .text : AT(ADDR(.text) - LOAD_OFFSET) {
  27. _text = .;
  28. IRQENTRY_TEXT
  29. SOFTIRQENTRY_TEXT
  30. TEXT_TEXT
  31. SCHED_TEXT
  32. CPUIDLE_TEXT
  33. LOCK_TEXT
  34. KPROBES_TEXT
  35. *(.fixup)
  36. *(.gnu.warning)
  37. } = 0
  38. _etext = .;
  39. /* __init_begin __init_end must be page aligned for free_initmem */
  40. . = ALIGN(PAGE_SIZE);
  41. _sdata = .;
  42. RO_DATA_SECTION(PAGE_SIZE)
  43. RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
  44. _edata = .;
  45. NOTES
  46. EXCEPTION_TABLE(L1_CACHE_BYTES)
  47. BSS_SECTION(L1_CACHE_BYTES, PAGE_SIZE, L1_CACHE_BYTES)
  48. VBR_BASE
  49. _end = . ;
  50. STABS_DEBUG
  51. DWARF_DEBUG
  52. DISCARDS
  53. }