KVM: PPC: Book3s HV: Implement get_dirty_log using hardware changed bit
authorPaul Mackerras <paulus@samba.org>
Thu, 15 Dec 2011 02:03:22 +0000 (02:03 +0000)
committerAvi Kivity <avi@redhat.com>
Mon, 5 Mar 2012 12:52:39 +0000 (14:52 +0200)
commit82ed36164c8a8ee685ea3fb3c4f741214ac070ca
tree259f2e7a839d7506d7fbb9a3be6763ad2f5e9fd2
parent55514893739d28f095f19b012133eea4cb4a9390
KVM: PPC: Book3s HV: Implement get_dirty_log using hardware changed bit

This changes the implementation of kvm_vm_ioctl_get_dirty_log() for
Book3s HV guests to use the hardware C (changed) bits in the guest
hashed page table.  Since this makes the implementation quite different
from the Book3s PR case, this moves the existing implementation from
book3s.c to book3s_pr.c and creates a new implementation in book3s_hv.c.
That implementation calls kvmppc_hv_get_dirty_log() to do the actual
work by calling kvm_test_clear_dirty on each page.  It iterates over
the HPTEs, clearing the C bit if set, and returns 1 if any C bit was
set (including the saved C bit in the rmap entry).

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/book3s_64_mmu_hv.c
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_pr.c