[PATCH v4 0/4] ARM: extend VA range of ID map for core kernel and KVM

Ard Biesheuvel ard.biesheuvel at linaro.org
Tue Mar 10 11:52:53 PDT 2015


These are the VA range patches presented as a coherent set. The bounce page
and 'HYP init code too big' error are probably not prerequisites anymore now
that I switched from merging the HYP runtime map with the HYP id map rather
than the kernel ID map, but I would strongly prefer to keep it as a single
series. (There is an unlikely scenario where the kernel Image could be inside
VA_BITS but the bounce page outside VA_BITS, but this is currently broken
anyway.)

Changes since previous version:
- move ARM HYP idmap to a separate output section __hyp_idmap_rodata instead
  of .rodata to address Russell's concern that the linker may handle this poorly
- fix the linker script ASSERTs on the HYP page size and alignment: both would
  incorrectly reject a 0 size HYP idmap (i.e., when !CONFIG_KVM) if the start
  and end symbols were both aligned to a page
- update the VA range patches to use the new adr_l/ldr_l/str_l macros that are
  introduced in the arm64/head.S cleanup series

Ard Biesheuvel (3):
  arm64: mm: increase VA range of identity map
  ARM, arm64: kvm: get rid of the bounce page
  arm64: KVM: use ID map with increased VA range if required

Arnd Bergmann (1):
  ARM: KVM: avoid "HYP init code too big" error

 arch/arm/include/asm/kvm_mmu.h         | 10 +++++
 arch/arm/kernel/vmlinux.lds.S          | 34 ++++++++++++++---
 arch/arm/kvm/init.S                    |  3 ++
 arch/arm/kvm/mmu.c                     | 69 +++++++++++++++-------------------
 arch/arm64/include/asm/kvm_mmu.h       | 33 ++++++++++++++++
 arch/arm64/include/asm/mmu_context.h   | 43 +++++++++++++++++++++
 arch/arm64/include/asm/page.h          |  6 ++-
 arch/arm64/include/asm/pgtable-hwdef.h |  7 +++-
 arch/arm64/kernel/head.S               | 37 ++++++++++++++++++
 arch/arm64/kernel/smp.c                |  1 +
 arch/arm64/kernel/vmlinux.lds.S        | 17 ++++++---
 arch/arm64/kvm/hyp-init.S              | 25 ++++++++++++
 arch/arm64/mm/mmu.c                    |  7 +++-
 arch/arm64/mm/proc-macros.S            | 10 +++++
 arch/arm64/mm/proc.S                   |  3 ++
 15 files changed, 251 insertions(+), 54 deletions(-)

-- 
1.8.3.2




More information about the linux-arm-kernel mailing list