arm/arm64: KVM: Invalidate data cache on unmap
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 19 Dec 2014 16:48:06 +0000 (16:48 +0000)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 29 Jan 2015 22:24:56 +0000 (23:24 +0100)
commit363ef89f8e9bcedc28b976d0fe2d858fe139c122
tree55a6c32ba12f3716892b78c5ac769b6ed2d488d5
parent3c1e716508335eb132c9349cb1a1716c8f7e3d2e
arm/arm64: KVM: Invalidate data cache on unmap

Let's assume a guest has created an uncached mapping, and written
to that page. Let's also assume that the host uses a cache-coherent
IO subsystem. Let's finally assume that the host is under memory
pressure and starts to swap things out.

Before this "uncached" page is evicted, we need to make sure
we invalidate potential speculated, clean cache lines that are
sitting there, or the IO subsystem is going to swap out the
cached view, loosing the data that has been written directly
into memory.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm/include/asm/kvm_mmu.h
arch/arm/kvm/mmu.c
arch/arm64/include/asm/kvm_mmu.h