diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2014-07-08 09:17:16 +0200 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2014-07-10 09:58:26 +0200 |
commit | f1a1b63529986d0c8970da182f0935eae059421b (patch) | |
tree | 00a39ade70757ff41413c2d9a24d4545dc5fe3f1 /arch/m68k/kernel | |
parent | Linux 3.16-rc4 (diff) | |
download | linux-f1a1b63529986d0c8970da182f0935eae059421b.tar.xz linux-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>
Diffstat (limited to 'arch/m68k/kernel')
-rw-r--r-- | arch/m68k/kernel/head.S | 3 |
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) |