Skip to content

arm64: split linear and kernel mappings

Will Deacon linux-arm-kernel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 8 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 8 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH v5sub1 0/8] arm64: split linear and kernel mappings
Quoted 28 lines · Matthias Brugger
Quoted 18 lines · Matthias Brugger
Quoted 13 lines · Ard Biesheuvel
Quoted 12 lines

On 12 February 2016 at 20:45, Matthias Brugger <[email protected]>

Quoted 11 lines

I bisected linux-next (20160212) with the following error on booting with an
initramfs:
Failed to execute /init (error -8)
request_module: runaway loop modprobe binfmt-464c
Starting init: /sbin/init exists but couldn't execute it (error -8)
request_module: runaway loop modprobe binfmt-464c
Starting init: /bin/sh exists but couldn't execute it (error -8)

  Kernel panic - not syncing: No working init found.  Try passing init=

option to kernel. See Linux Documentation/init..

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

I tracked down the error to patch 7 of this series. But I realized that patch 7 does not compile, but from patch 8 onwards I observe the error.

Quoted 6 lines

As far as this failure is concerned, I managed to reproduce an error with patch #7 and not #8 applied, involving out of range kvm symbols at link time. This is reproducible with GCC 4.8 but not GCC 4.9 or later. Is this what you were seeing as well? Or is there another problem?

I realized that I used " aarch64-linux-gnu-gcc (Linaro GCC 2014.11) 4.9.3 20141031 (prerelease)" which gave me errors like:

Quoted 7 lines

arch/arm64/kvm/built-in.o: In function `__cpu_init_hyp_mode':
/home/mbrugger/src/linux-next/./arch/arm64/include/asm/kvm_host.h:331:(.text+0x73b4):
relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol `__kvm_hyp_vector' defined in .hyp.text section in arch/arm64/kvm/built-in.o

So it was time to update my toolchain to "aarch64-linux-gnu-gcc (Linaro GCC 5.1-2015.08) 5.1.1 20150608" which fixed the problem for me.

FWIW, I've also been seeing a bunch of reloc errors with allmodconfig, for-next/core and GCC 4.9. loops_per_jiffy was one of the problematic symbols, iirc, but upgrading to GCC 6 (devel) fixed the issue.

Will