diff options
author | Matt Fleming <matt@console-pimps.org> | 2010-04-24 14:28:20 +0200 |
---|---|---|
committer | Matt Fleming <matt@console-pimps.org> | 2010-04-25 21:44:23 +0200 |
commit | b161313ae8d9c64de589d1de72f975210ce37b48 (patch) | |
tree | 1c4d73e1a3c09076390bde3406581f35fd374feb /arch/sh/boot | |
parent | sh: Assembly friendly __pa and __va definitions (diff) | |
download | linux-b161313ae8d9c64de589d1de72f975210ce37b48.tar.xz linux-b161313ae8d9c64de589d1de72f975210ce37b48.zip |
sh: Fix address to decompress at when CONFIG_32BIT=y
When running in 32BIT mode the P1SEG region doesn't necessarily provide
a window onto RAM (it depends how the bootloader setup the PMB). The
correct location to place the decompressed kernel is the physical
address of _text.
Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/boot')
-rw-r--r-- | arch/sh/boot/compressed/head_32.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sh/boot/compressed/head_32.S b/arch/sh/boot/compressed/head_32.S index 02a30935f0b9..200c1d4f1efe 100644 --- a/arch/sh/boot/compressed/head_32.S +++ b/arch/sh/boot/compressed/head_32.S @@ -97,7 +97,11 @@ init_stack_addr: decompress_kernel_addr: .long decompress_kernel kernel_start_addr: +#ifdef CONFIG_32BIT + .long ___pa(_text+PAGE_SIZE) +#else .long _text+PAGE_SIZE +#endif .align 9 fake_headers_as_bzImage: |