Эх сурвалжийг харах

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 жил өмнө
parent
commit
b161313ae8

+ 4 - 0
arch/sh/boot/compressed/head_32.S

@@ -97,7 +97,11 @@ init_stack_addr:
 decompress_kernel_addr:
 decompress_kernel_addr:
 	.long	decompress_kernel
 	.long	decompress_kernel
 kernel_start_addr:
 kernel_start_addr:
+#ifdef CONFIG_32BIT
+	.long	___pa(_text+PAGE_SIZE)
+#else
 	.long	_text+PAGE_SIZE
 	.long	_text+PAGE_SIZE
+#endif
 
 
 	.align	9
 	.align	9
 fake_headers_as_bzImage:
 fake_headers_as_bzImage: