aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2014-07-08 09:17:16 +0200
committerGeert Uytterhoeven <geert@linux-m68k.org>2014-07-10 09:58:26 +0200
commitf1a1b63529986d0c8970da182f0935eae059421b (patch)
tree00a39ade70757ff41413c2d9a24d4545dc5fe3f1
parentLinux 3.16-rc4 (diff)
downloadlinux-dev-f1a1b63529986d0c8970da182f0935eae059421b.tar.xz
linux-dev-f1a1b63529986d0c8970da182f0935eae059421b.zip
m68k: Fix boot regression on machines with RAM at non-zero
My enhancement to store the initial mapping size for later reuse in commit 486df8bc4627bdfc032d11bedcd056cc5343ee62 ("m68k: Increase initial mapping to 8 or 16 MiB if possible") broke booting on machines where RAM doesn't start at address zero. Use pc-relative addressing to fix this. Reported-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Andreas Schwab <schwab@linux-m68k.org>
-rw-r--r--arch/m68k/kernel/head.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
index dbb118e1a4e0..a54788458ca3 100644
--- a/arch/m68k/kernel/head.S
+++ b/arch/m68k/kernel/head.S
@@ -921,7 +921,8 @@ L(nocon):
jls 1f
lsrl #1,%d1
1:
- movel %d1,m68k_init_mapped_size
+ lea %pc@(m68k_init_mapped_size),%a0
+ movel %d1,%a0@
mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\
%pc@(m68k_supervisor_cachemode)