diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2007-07-12 00:20:20 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-07-12 00:20:20 -0400 |
commit | 520473b0775ce046d179afa686fb3222884c389d (patch) | |
tree | 9497b8007b66e8830ce688d22d93ed91a8d83d9d | |
parent | b07af760c9bd8e87c3aa9275298566379ec4e9c1 (diff) |
Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r-- | arch/blackfin/kernel/vmlinux.lds.S | 12 | ||||
-rw-r--r-- | include/asm-blackfin/page.h | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 1ef1e36b3957..d06f860f4790 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #include <asm-generic/vmlinux.lds.h> | 32 | #include <asm-generic/vmlinux.lds.h> |
33 | #include <asm/mem_map.h> | 33 | #include <asm/mem_map.h> |
34 | #include <asm/page.h> | ||
34 | 35 | ||
35 | OUTPUT_FORMAT("elf32-bfin") | 36 | OUTPUT_FORMAT("elf32-bfin") |
36 | ENTRY(__start) | 37 | ENTRY(__start) |
@@ -63,8 +64,8 @@ SECTIONS | |||
63 | 64 | ||
64 | .data : | 65 | .data : |
65 | { | 66 | { |
67 | . = ALIGN(PAGE_SIZE); | ||
66 | __sdata = .; | 68 | __sdata = .; |
67 | . = ALIGN(0x2000); | ||
68 | *(.data.init_task) | 69 | *(.data.init_task) |
69 | DATA_DATA | 70 | DATA_DATA |
70 | CONSTRUCTORS | 71 | CONSTRUCTORS |
@@ -72,14 +73,14 @@ SECTIONS | |||
72 | . = ALIGN(32); | 73 | . = ALIGN(32); |
73 | *(.data.cacheline_aligned) | 74 | *(.data.cacheline_aligned) |
74 | 75 | ||
75 | . = ALIGN(0x2000); | 76 | . = ALIGN(PAGE_SIZE); |
76 | __edata = .; | 77 | __edata = .; |
77 | } | 78 | } |
78 | 79 | ||
80 | . = ALIGN(PAGE_SIZE); | ||
79 | ___init_begin = .; | 81 | ___init_begin = .; |
80 | .init : | 82 | .init : |
81 | { | 83 | { |
82 | . = ALIGN(4096); | ||
83 | __sinittext = .; | 84 | __sinittext = .; |
84 | *(.init.text) | 85 | *(.init.text) |
85 | __einittext = .; | 86 | __einittext = .; |
@@ -152,9 +153,10 @@ SECTIONS | |||
152 | __ebss_b_l1 = .; | 153 | __ebss_b_l1 = .; |
153 | } | 154 | } |
154 | 155 | ||
155 | ___init_end = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); | 156 | . = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); |
157 | ___init_end = ALIGN(PAGE_SIZE); | ||
156 | 158 | ||
157 | .bss LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1) : | 159 | .bss ___init_end : |
158 | { | 160 | { |
159 | . = ALIGN(4); | 161 | . = ALIGN(4); |
160 | ___bss_start = .; | 162 | ___bss_start = .; |
diff --git a/include/asm-blackfin/page.h b/include/asm-blackfin/page.h index ffad947f1b2a..8bc86717021c 100644 --- a/include/asm-blackfin/page.h +++ b/include/asm-blackfin/page.h | |||
@@ -4,7 +4,11 @@ | |||
4 | /* PAGE_SHIFT determines the page size */ | 4 | /* PAGE_SHIFT determines the page size */ |
5 | 5 | ||
6 | #define PAGE_SHIFT 12 | 6 | #define PAGE_SHIFT 12 |
7 | #ifdef __ASSEMBLY__ | ||
8 | #define PAGE_SIZE (1 << PAGE_SHIFT) | ||
9 | #else | ||
7 | #define PAGE_SIZE (1UL << PAGE_SHIFT) | 10 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
11 | #endif | ||
8 | #define PAGE_MASK (~(PAGE_SIZE-1)) | 12 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
9 | 13 | ||
10 | #ifdef __KERNEL__ | 14 | #ifdef __KERNEL__ |