sh: Fix .empty_zero_page alignment for PAGE_SIZE > 4096.
authorPaul Mundt <lethal@linux-sh.org>
Mon, 11 Dec 2006 23:53:29 +0000 (08:53 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 11 Dec 2006 23:53:29 +0000 (08:53 +0900)
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boot/compressed/head.S
arch/sh/boot/compressed/misc.c
arch/sh/kernel/head.S

index 4c26a192277d5b4135a68fc542a4c1499b9669a7..a8399b013729faa4bc10081518018ee86f1d813d 100644 (file)
@@ -8,6 +8,7 @@
 .text
 
 #include <linux/linkage.h>
+#include <asm/page.h>
 
        .global startup
 startup:
@@ -97,7 +98,7 @@ init_stack_addr:
 decompress_kernel_addr:
        .long   decompress_kernel
 kernel_start_addr:
-       .long   _text+0x1000
+       .long   _text+PAGE_SIZE
 
        .align  9
 fake_headers_as_bzImage:
index 35452d85b7f7f21ccf341ae3af407ed679dfb450..df65e305acf78b14710efa0ddc32998207fc9fbb 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <asm/uaccess.h>
 #include <asm/addrspace.h>
+#include <asm/page.h>
 #ifdef CONFIG_SH_STANDARD_BIOS
 #include <asm/sh_bios.h>
 #endif
@@ -229,7 +230,7 @@ long* stack_start = &user_stack[STACK_SIZE];
 void decompress_kernel(void)
 {
        output_data = 0;
-       output_ptr = P2SEGADDR((unsigned long)&_text+0x1000);
+       output_ptr = P2SEGADDR((unsigned long)&_text+PAGE_SIZE);
        free_mem_ptr = (unsigned long)&_end;
        free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
 
index 6aca4bc6ec5d55e5dd649edb36be0aa3702d7925..71a3ad7d283e2156cbbae33a2338738e2005b090 100644 (file)
@@ -33,7 +33,8 @@ ENTRY(empty_zero_page)
        .long   0x00360000      /* INITRD_START */
        .long   0x000a0000      /* INITRD_SIZE */
        .long   0
-       .balign PAGE_SIZE,0,PAGE_SIZE
+1:
+       .skip   PAGE_SIZE - empty_zero_page - 1b
 
        .text   
 /*