diff options
author | Tim Abbott <tabbott@ksplice.com> | 2009-09-06 23:10:10 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-09-21 08:29:21 -0400 |
commit | 8cc11f5ab5384dad6c63905f71882e65cd70b7b7 (patch) | |
tree | c9319c2d9776885958f7cd95f8ce81ef6214da5e /arch/microblaze | |
parent | 1f74b1f7e5be08e4b884c8bd9e776f0e440b14f1 (diff) |
microblaze: Cleanup linker script using new linker script macros.
I wasn't able to further clean up the linker script using the
INIT_DATA_SECTION macro because of the FIXME comment for the
.init.ramfs section; when that is resolved we should convert
microblaze to use INIT_DATA_SECTION.
Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: microblaze-uclinux@itee.uq.edu.au
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze')
-rw-r--r-- | arch/microblaze/kernel/vmlinux.lds.S | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S index ec5fa91a48d8..b76c17c9ae41 100644 --- a/arch/microblaze/kernel/vmlinux.lds.S +++ b/arch/microblaze/kernel/vmlinux.lds.S | |||
@@ -13,6 +13,8 @@ OUTPUT_ARCH(microblaze) | |||
13 | ENTRY(_start) | 13 | ENTRY(_start) |
14 | 14 | ||
15 | #include <asm-generic/vmlinux.lds.h> | 15 | #include <asm-generic/vmlinux.lds.h> |
16 | #include <asm/page.h> | ||
17 | #include <asm/thread_info.h> | ||
16 | 18 | ||
17 | jiffies = jiffies_64 + 4; | 19 | jiffies = jiffies_64 + 4; |
18 | 20 | ||
@@ -39,12 +41,7 @@ SECTIONS { | |||
39 | 41 | ||
40 | . = ALIGN(16); | 42 | . = ALIGN(16); |
41 | RODATA | 43 | RODATA |
42 | . = ALIGN(16); | 44 | EXCEPTION_TABLE(16) |
43 | __ex_table : { | ||
44 | __start___ex_table = .; | ||
45 | *(__ex_table) | ||
46 | __stop___ex_table = .; | ||
47 | } | ||
48 | 45 | ||
49 | /* | 46 | /* |
50 | * sdata2 section can go anywhere, but must be word aligned | 47 | * sdata2 section can go anywhere, but must be word aligned |
@@ -61,12 +58,7 @@ SECTIONS { | |||
61 | } | 58 | } |
62 | 59 | ||
63 | _sdata = . ; | 60 | _sdata = . ; |
64 | .data ALIGN (4096) : { /* page aligned when MMU used - origin 0x4 */ | 61 | RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE) |
65 | DATA_DATA | ||
66 | CONSTRUCTORS | ||
67 | } | ||
68 | . = ALIGN(32); | ||
69 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | ||
70 | _edata = . ; | 62 | _edata = . ; |
71 | 63 | ||
72 | /* Reserve some low RAM for r0 based memory references */ | 64 | /* Reserve some low RAM for r0 based memory references */ |
@@ -74,10 +66,6 @@ SECTIONS { | |||
74 | r0_ram = . ; | 66 | r0_ram = . ; |
75 | . = . + 4096; /* a page should be enough */ | 67 | . = . + 4096; /* a page should be enough */ |
76 | 68 | ||
77 | /* The initial task */ | ||
78 | . = ALIGN(8192); | ||
79 | .data.init_task : { *(.data.init_task) } | ||
80 | |||
81 | /* Under the microblaze ABI, .sdata and .sbss must be contiguous */ | 69 | /* Under the microblaze ABI, .sdata and .sbss must be contiguous */ |
82 | . = ALIGN(8); | 70 | . = ALIGN(8); |
83 | .sdata : { | 71 | .sdata : { |
@@ -96,12 +84,7 @@ SECTIONS { | |||
96 | 84 | ||
97 | __init_begin = .; | 85 | __init_begin = .; |
98 | 86 | ||
99 | . = ALIGN(4096); | 87 | INIT_TEXT_SECTION(PAGE_SIZE) |
100 | .init.text : { | ||
101 | _sinittext = . ; | ||
102 | INIT_TEXT | ||
103 | _einittext = .; | ||
104 | } | ||
105 | 88 | ||
106 | .init.data : { | 89 | .init.data : { |
107 | INIT_DATA | 90 | INIT_DATA |
@@ -115,21 +98,15 @@ SECTIONS { | |||
115 | } | 98 | } |
116 | 99 | ||
117 | .init.setup : { | 100 | .init.setup : { |
118 | __setup_start = .; | 101 | INIT_SETUP(0) |
119 | *(.init.setup) | ||
120 | __setup_end = .; | ||
121 | } | 102 | } |
122 | 103 | ||
123 | .initcall.init : { | 104 | .initcall.init : { |
124 | __initcall_start = .; | 105 | INIT_CALLS |
125 | INITCALLS | ||
126 | __initcall_end = .; | ||
127 | } | 106 | } |
128 | 107 | ||
129 | .con_initcall.init : { | 108 | .con_initcall.init : { |
130 | __con_initcall_start = .; | 109 | CON_INITCALL |
131 | *(.con_initcall.init) | ||
132 | __con_initcall_end = .; | ||
133 | } | 110 | } |
134 | 111 | ||
135 | SECURITY_INIT | 112 | SECURITY_INIT |