diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2014-07-08 03:17:16 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2014-07-10 03:58:26 -0400 |
commit | f1a1b63529986d0c8970da182f0935eae059421b (patch) | |
tree | 00a39ade70757ff41413c2d9a24d4545dc5fe3f1 /arch/m68k | |
parent | cd3de83f147601356395b57a8673e9c5ff1e59d1 (diff) |
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')
-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): | |||
921 | jls 1f | 921 | jls 1f |
922 | lsrl #1,%d1 | 922 | lsrl #1,%d1 |
923 | 1: | 923 | 1: |
924 | movel %d1,m68k_init_mapped_size | 924 | lea %pc@(m68k_init_mapped_size),%a0 |
925 | movel %d1,%a0@ | ||
925 | mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\ | 926 | mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\ |
926 | %pc@(m68k_supervisor_cachemode) | 927 | %pc@(m68k_supervisor_cachemode) |
927 | 928 | ||