linux/arch/arm/kvm
Marc Zyngier 136d737fd2 arm/arm64: KVM: relax the requirements of VMA alignment for THP
The THP code in KVM/ARM is a bit restrictive in not allowing a THP
to be used if the VMA is not 2MB aligned. Actually, it is not so much
the VMA that matters, but the associated memslot:

A process can perfectly mmap a region with no particular alignment
restriction, and then pass a 2MB aligned address to KVM. In this
case, KVM will only use this 2MB aligned region, and will ignore
the range between vma->vm_start and memslot->userspace_addr.

It can also choose to place this memslot at whatever alignment it
wants in the IPA space. In the end, what matters is the relative
alignment of the user space and IPA mappings with respect to a
2M page. They absolutely must be the same if you want to use THP.

Cc: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-01-08 13:49:03 -08:00
..
arm.c arm: KVM: Don't return PSCI_INVAL if waitqueue is inactive 2013-12-21 09:55:17 -08:00
coproc_a7.c KVM: ARM: Add support for Cortex-A7 2013-10-12 17:45:30 -07:00
coproc_a15.c KVM: ARM: Add support for Cortex-A7 2013-10-12 17:45:30 -07:00
coproc.c ARM: KVM: fix L2CTLR to be per-cluster 2013-10-22 08:00:06 -07:00
coproc.h ARM: KVM: Fix 64-bit coprocessor handling 2013-08-06 11:32:30 -07:00
emulate.c KVM: ARM: Fix typo in comments of inject_abt() 2013-10-02 17:29:19 +01:00
guest.c KVM: ARM: Add support for Cortex-A7 2013-10-12 17:45:30 -07:00
handle_exit.c KVM: ARM: Update comments for kvm_handle_wfi 2013-10-17 15:26:50 -07:00
init.S ARM: kvm: use inner-shareable barriers after TLB flushing 2013-08-12 12:25:45 +01:00
interrupts_head.S KVM fixes for 3.11 2013-07-03 13:21:40 -07:00
interrupts.S Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-09-05 18:07:32 -07:00
Kconfig ARM: KVM: Yield CPU when vcpu executes a WFE 2013-10-17 15:26:50 -07:00
Makefile KVM: ARM: Add support for Cortex-A7 2013-10-12 17:45:30 -07:00
mmio.c arm/arm64: KVM: MMIO support for BE guest 2013-11-07 19:09:04 +00:00
mmu.c arm/arm64: KVM: relax the requirements of VMA alignment for THP 2014-01-08 13:49:03 -08:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c arm: KVM: Don't return PSCI_INVAL if waitqueue is inactive 2013-12-21 09:55:17 -08:00
reset.c Updates for KVM/ARM, take 3 supporting more than 4 CPUs. 2013-11-11 12:02:27 +01:00
trace.h ARM: KVM: Simplify tracepoint text 2013-08-30 15:47:53 -07:00