summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2009-07-27 15:23:59 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2009-07-27 15:26:43 -0500
commit6e489f3f88f6f50f5e7d9c94e36e153741453581 (patch)
tree0590010a5cb25b561a66b652d9b4290c3c63d3b1 /kvm-all.c
parentFix out of tree build broken by 791e08c753a9f9be3c3880b4ea83b6dfa4b6ccad (diff)
downloadqemu-kvm-6e489f3f88f6f50f5e7d9c94e36e153741453581.tar.gz
qemu-kvm-6e489f3f88f6f50f5e7d9c94e36e153741453581.tar.bz2
qemu-kvm-6e489f3f88f6f50f5e7d9c94e36e153741453581.zip
Revert "Fake dirty loggin when it's not there"
This reverts commit bd8367761236cd5c435598aeb2f1b8240c09b059. PPC should just implement dirty logging so we can avoid all the fall-out from this changeset. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'kvm-all.c')
-rw-r--r--kvm-all.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/kvm-all.c b/kvm-all.c
index 9a822ed88..f669c3ac0 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -318,7 +318,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
KVMDirtyLog d;
KVMSlot *mem;
int ret = 0;
- int r;
d.dirty_bitmap = NULL;
while (start_addr < end_addr) {
@@ -327,11 +326,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
break;
}
- /* We didn't activate dirty logging? Don't care then. */
- if(!(mem->flags & KVM_MEM_LOG_DIRTY_PAGES)) {
- continue;
- }
-
size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8;
if (!d.dirty_bitmap) {
d.dirty_bitmap = qemu_malloc(size);
@@ -343,8 +337,7 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
d.slot = mem->slot;
- r = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d);
- if (r == -EINVAL) {
+ if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) {
dprintf("ioctl failed %d\n", errno);
ret = -1;
break;
@@ -358,10 +351,6 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,
if (test_le_bit(nr, bitmap)) {
cpu_physical_memory_set_dirty(addr);
- } else if (r < 0) {
- /* When our KVM implementation doesn't know about dirty logging
- * we can just assume it's always dirty and be fine. */
- cpu_physical_memory_set_dirty(addr);
}
}
start_addr = phys_addr;