diff options
Diffstat (limited to 'arch/avr32/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/avr32/kernel/vmlinux.lds.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S index db0438f35c00..fef0e6d322f1 100644 --- a/arch/avr32/kernel/vmlinux.lds.S +++ b/arch/avr32/kernel/vmlinux.lds.S | |||
@@ -9,6 +9,8 @@ | |||
9 | */ | 9 | */ |
10 | #define LOAD_OFFSET 0x00000000 | 10 | #define LOAD_OFFSET 0x00000000 |
11 | #include <asm-generic/vmlinux.lds.h> | 11 | #include <asm-generic/vmlinux.lds.h> |
12 | #include <asm/cache.h> | ||
13 | #include <asm/thread_info.h> | ||
12 | 14 | ||
13 | OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") | 15 | OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") |
14 | OUTPUT_ARCH(avr32) | 16 | OUTPUT_ARCH(avr32) |
@@ -58,7 +60,7 @@ SECTIONS | |||
58 | *(.init.ramfs) | 60 | *(.init.ramfs) |
59 | __initramfs_end = .; | 61 | __initramfs_end = .; |
60 | #endif | 62 | #endif |
61 | . = ALIGN(4096); | 63 | . = ALIGN(PAGE_SIZE); |
62 | __init_end = .; | 64 | __init_end = .; |
63 | } | 65 | } |
64 | 66 | ||
@@ -96,7 +98,7 @@ SECTIONS | |||
96 | 98 | ||
97 | RODATA | 99 | RODATA |
98 | 100 | ||
99 | . = ALIGN(8192); | 101 | . = ALIGN(THREAD_SIZE); |
100 | 102 | ||
101 | .data : AT(ADDR(.data) - LOAD_OFFSET) { | 103 | .data : AT(ADDR(.data) - LOAD_OFFSET) { |
102 | _data = .; | 104 | _data = .; |
@@ -107,7 +109,7 @@ SECTIONS | |||
107 | *(.data.init_task) | 109 | *(.data.init_task) |
108 | 110 | ||
109 | /* Then, the cacheline aligned data */ | 111 | /* Then, the cacheline aligned data */ |
110 | . = ALIGN(32); | 112 | . = ALIGN(L1_CACHE_BYTES); |
111 | *(.data.cacheline_aligned) | 113 | *(.data.cacheline_aligned) |
112 | 114 | ||
113 | /* And the rest... */ | 115 | /* And the rest... */ |