浏览代码

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>
Matt Fleming 15 年之前
父节点
当前提交
b161313ae8
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      arch/sh/boot/compressed/head_32.S

+ 4 - 0
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: