summaryrefslogtreecommitdiffstats
path: root/arch/mips/bcm63xx
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2016-12-06 14:59:43 +0000
committerJames Hogan <james.hogan@imgtec.com>2017-02-03 15:21:27 +0000
commitf9b11e51f89f6d2eca2ca8f41bb0ceb07c943e60 (patch)
treec4138efee7e3f28af17d439c8a79c98304b78eaf /arch/mips/bcm63xx
parentb584f460e6d6f1bf968acfcd23aceb663ba996fa (diff)
downloadlinux-f9b11e51f89f6d2eca2ca8f41bb0ceb07c943e60.tar.gz
linux-f9b11e51f89f6d2eca2ca8f41bb0ceb07c943e60.tar.xz
KVM: MIPS/MMU: Pass GPA PTE bits to mapped GVA PTEs
Propagate the GPA PTE protection bits on to the GVA PTEs on a mapped fault (except _PAGE_WRITE, and filtered by the guest TLB entry), rather than always overriding the protection. This allows dirty page tracking to work in mapped guest segments as a clear dirty bit in the GPA PTE will propagate to the GVA PTEs even when the guest TLB has the dirty bit set. Since the filtering of protection bits is now abstracted, if the buddy GVA PTE is also valid, we obtain the corresponding GPA PTE using a simple non-allocating walk and load that into the GVA PTE similarly (which may itself be invalid). Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org
Diffstat (limited to 'arch/mips/bcm63xx')
0 files changed, 0 insertions, 0 deletions