]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
arm64: KVM: force cache clean on page fault when caches are off
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 14 Jan 2014 19:13:10 +0000 (19:13 +0000)
committerJiri Slaby <jslaby@suse.cz>
Thu, 30 Apr 2015 09:15:02 +0000 (11:15 +0200)
commit8462018ebdfe8d208cb05a10a16ae74337d01ca9
tree2070e451b6aeedfd8d23c77a12cf714e5a39b3e7
parent449b62f6603d57cb80519176406a1adc2936a144
arm64: KVM: force cache clean on page fault when caches are off

commit 2d58b733c87689d3d5144e4ac94ea861cc729145 upstream.

In order for the guest with caches off to observe data written
contained in a given page, we need to make sure that page is
committed to memory, and not just hanging in the cache (as
guest accesses are completely bypassing the cache until it
decides to enable it).

For this purpose, hook into the coherent_icache_guest_page
function and flush the region if the guest SCTLR_EL1
register doesn't show the MMU  and caches as being enabled.
The function also get renamed to coherent_cache_guest_page.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/arm/include/asm/kvm_mmu.h
arch/arm/kvm/mmu.c
arch/arm64/include/asm/kvm_mmu.h