Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * vmlinux.lds.S -- master linker script for m68knommu arch | |
3 | * | |
f84f52a5 | 4 | * (C) Copyright 2002-2012, Greg Ungerer <gerg@snapgear.com> |
1da177e4 | 5 | * |
25985edc | 6 | * This linker script is equipped to build either ROM loaded or RAM |
1c952af5 | 7 | * run kernels. |
1da177e4 LT |
8 | */ |
9 | ||
1da177e4 | 10 | #if defined(CONFIG_RAMKERNEL) |
f84f52a5 | 11 | #define KTEXT_ADDR CONFIG_KERNELBASE |
1da177e4 | 12 | #endif |
f84f52a5 GU |
13 | #if defined(CONFIG_ROMKERNEL) |
14 | #define KTEXT_ADDR CONFIG_ROMSTART | |
15 | #define KDATA_ADDR CONFIG_KERNELBASE | |
16 | #define LOAD_OFFSET KDATA_ADDR + (ADDR(.text) + SIZEOF(.text)) | |
1da177e4 LT |
17 | #endif |
18 | ||
f84f52a5 GU |
19 | #include <asm/page.h> |
20 | #include <asm/thread_info.h> | |
21 | #include <asm-generic/vmlinux.lds.h> | |
1da177e4 LT |
22 | |
23 | OUTPUT_ARCH(m68k) | |
24 | ENTRY(_start) | |
25 | ||
1da177e4 LT |
26 | jiffies = jiffies_64 + 4; |
27 | ||
28 | SECTIONS { | |
29 | ||
f84f52a5 GU |
30 | #ifdef CONFIG_ROMVEC |
31 | . = CONFIG_ROMVEC; | |
1da177e4 | 32 | .romvec : { |
f84f52a5 | 33 | __rom_start = .; |
1da177e4 | 34 | _romvec = .; |
f84f52a5 | 35 | *(.romvec) |
2c31c341 | 36 | *(.data..initvect) |
f84f52a5 | 37 | } |
1da177e4 LT |
38 | #endif |
39 | ||
f84f52a5 GU |
40 | . = KTEXT_ADDR; |
41 | ||
42 | _text = .; | |
43 | _stext = .; | |
1da177e4 | 44 | .text : { |
9b0e7410 | 45 | HEAD_TEXT |
7664709b | 46 | TEXT_TEXT |
1da177e4 | 47 | SCHED_TEXT |
6727ad9e | 48 | CPUIDLE_TEXT |
779125c2 | 49 | LOCK_TEXT |
ed865e31 | 50 | *(.fixup) |
f84f52a5 GU |
51 | . = ALIGN(16); |
52 | } | |
53 | _etext = .; | |
54 | ||
55 | #ifdef KDATA_ADDR | |
56 | . = KDATA_ADDR; | |
57 | #endif | |
58 | ||
59 | _sdata = .; | |
60 | RO_DATA_SECTION(PAGE_SIZE) | |
61 | RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) | |
62 | _edata = .; | |
1da177e4 | 63 | |
f84f52a5 GU |
64 | EXCEPTION_TABLE(16) |
65 | NOTES | |
1da177e4 | 66 | |
f84f52a5 GU |
67 | . = ALIGN(PAGE_SIZE); |
68 | __init_begin = .; | |
69 | INIT_TEXT_SECTION(PAGE_SIZE) | |
70 | INIT_DATA_SECTION(16) | |
71 | PERCPU_SECTION(16) | |
ed865e31 GU |
72 | .m68k_fixup : { |
73 | __start_fixup = .; | |
74 | *(.m68k_fixup) | |
75 | __stop_fixup = .; | |
f84f52a5 | 76 | } |
53749f73 | 77 | .init.data : { |
f4bed4fb | 78 | . = ALIGN(PAGE_SIZE); |
1da177e4 | 79 | __init_end = .; |
f84f52a5 GU |
80 | } |
81 | ||
f84f52a5 | 82 | BSS_SECTION(0, 0, 0) |
f84f52a5 GU |
83 | |
84 | _end = .; | |
85 | ||
86 | STABS_DEBUG | |
87 | .comment 0 : { *(.comment) } | |
1da177e4 | 88 | |
f84f52a5 | 89 | /* Sections to be discarded */ |
023bf6f1 | 90 | DISCARDS |
1da177e4 LT |
91 | } |
92 |