]>
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 |
779125c2 | 48 | LOCK_TEXT |
ed865e31 | 49 | *(.fixup) |
f84f52a5 GU |
50 | . = ALIGN(16); |
51 | } | |
52 | _etext = .; | |
53 | ||
54 | #ifdef KDATA_ADDR | |
55 | . = KDATA_ADDR; | |
56 | #endif | |
57 | ||
58 | _sdata = .; | |
59 | RO_DATA_SECTION(PAGE_SIZE) | |
60 | RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) | |
61 | _edata = .; | |
1da177e4 | 62 | |
f84f52a5 GU |
63 | EXCEPTION_TABLE(16) |
64 | NOTES | |
1da177e4 | 65 | |
f84f52a5 GU |
66 | . = ALIGN(PAGE_SIZE); |
67 | __init_begin = .; | |
68 | INIT_TEXT_SECTION(PAGE_SIZE) | |
69 | INIT_DATA_SECTION(16) | |
70 | PERCPU_SECTION(16) | |
ed865e31 GU |
71 | .m68k_fixup : { |
72 | __start_fixup = .; | |
73 | *(.m68k_fixup) | |
74 | __stop_fixup = .; | |
f84f52a5 | 75 | } |
53749f73 | 76 | .init.data : { |
f4bed4fb | 77 | . = ALIGN(PAGE_SIZE); |
1da177e4 | 78 | __init_end = .; |
f84f52a5 GU |
79 | } |
80 | ||
f84f52a5 | 81 | BSS_SECTION(0, 0, 0) |
f84f52a5 GU |
82 | |
83 | _end = .; | |
84 | ||
85 | STABS_DEBUG | |
86 | .comment 0 : { *(.comment) } | |
1da177e4 | 87 | |
f84f52a5 | 88 | /* Sections to be discarded */ |
023bf6f1 | 89 | DISCARDS |
1da177e4 LT |
90 | } |
91 |