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>
This commit is contained in:
Mike Frysinger 2007-07-12 12:20:20 +08:00 committed by Bryan Wu
parent b07af760c9
commit 520473b077
2 changed files with 11 additions and 5 deletions

View File

@ -31,6 +31,7 @@
#include <asm-generic/vmlinux.lds.h> #include <asm-generic/vmlinux.lds.h>
#include <asm/mem_map.h> #include <asm/mem_map.h>
#include <asm/page.h>
OUTPUT_FORMAT("elf32-bfin") OUTPUT_FORMAT("elf32-bfin")
ENTRY(__start) ENTRY(__start)
@ -63,8 +64,8 @@ SECTIONS
.data : .data :
{ {
. = ALIGN(PAGE_SIZE);
__sdata = .; __sdata = .;
. = ALIGN(0x2000);
*(.data.init_task) *(.data.init_task)
DATA_DATA DATA_DATA
CONSTRUCTORS CONSTRUCTORS
@ -72,14 +73,14 @@ SECTIONS
. = ALIGN(32); . = ALIGN(32);
*(.data.cacheline_aligned) *(.data.cacheline_aligned)
. = ALIGN(0x2000); . = ALIGN(PAGE_SIZE);
__edata = .; __edata = .;
} }
. = ALIGN(PAGE_SIZE);
___init_begin = .; ___init_begin = .;
.init : .init :
{ {
. = ALIGN(4096);
__sinittext = .; __sinittext = .;
*(.init.text) *(.init.text)
__einittext = .; __einittext = .;
@ -152,9 +153,10 @@ SECTIONS
__ebss_b_l1 = .; __ebss_b_l1 = .;
} }
___init_end = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); . = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
___init_end = ALIGN(PAGE_SIZE);
.bss LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1) : .bss ___init_end :
{ {
. = ALIGN(4); . = ALIGN(4);
___bss_start = .; ___bss_start = .;

View File

@ -4,7 +4,11 @@
/* PAGE_SHIFT determines the page size */ /* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT 12 #define PAGE_SHIFT 12
#ifdef __ASSEMBLY__
#define PAGE_SIZE (1 << PAGE_SHIFT)
#else
#define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_SIZE (1UL << PAGE_SHIFT)
#endif
#define PAGE_MASK (~(PAGE_SIZE-1)) #define PAGE_MASK (~(PAGE_SIZE-1))
#ifdef __KERNEL__ #ifdef __KERNEL__