aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boot
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-07-11 13:36:25 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-07-11 13:36:25 -0400
commit040f43e0bf70935cbe8a775110206d11367e11db (patch)
tree9d320e89b0d68cd372b8e2c1e19461fa8916a538 /arch/sh/boot
parentsh: rename arch/sh/boot/compressed/misc_32.c -> misc.c (diff)
downloadlinux-dev-040f43e0bf70935cbe8a775110206d11367e11db.tar.xz
linux-dev-040f43e0bf70935cbe8a775110206d11367e11db.zip
sh64: Don't use PHYSADDR() for output_addr calculation.
Opencode the MEMORY_START offset directly, sh64 uses a slightly different calculation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boot')
-rw-r--r--arch/sh/boot/compressed/misc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sh/boot/compressed/misc.c b/arch/sh/boot/compressed/misc.c
index 4eb27e61f8e3..fd56a71ca9d9 100644
--- a/arch/sh/boot/compressed/misc.c
+++ b/arch/sh/boot/compressed/misc.c
@@ -128,10 +128,14 @@ void decompress_kernel(void)
{
unsigned long output_addr;
+#ifdef CONFIG_SUPERH64
+ output_addr = (CONFIG_MEMORY_START + 0x2000);
+#else
output_addr = PHYSADDR((unsigned long)&_text+PAGE_SIZE);
#ifdef CONFIG_29BIT
output_addr |= P2SEG;
#endif
+#endif
output = (unsigned char *)output_addr;
free_mem_ptr = (unsigned long)&_end;