summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-07-29 10:56:24 +0300
committerAvi Kivity <avi@redhat.com>2009-07-29 10:56:34 +0300
commitbd3b74828352b545a5049c73dd51b5e63c455671 (patch)
tree3077c51eb06c646f1f9ef9ed7521a0d5a884e64f /kvm-all.c
parentMerge commit '2f7bb8780af4a007e90045b4cc97f558e956adf9' into upstream-merge (diff)
parentDefine ENOTSUP anywhere it isn't defined (diff)
downloadqemu-kvm-bd3b74828352b545a5049c73dd51b5e63c455671.tar.gz
qemu-kvm-bd3b74828352b545a5049c73dd51b5e63c455671.tar.bz2
qemu-kvm-bd3b74828352b545a5049c73dd51b5e63c455671.zip
Merge commit '4c955388572068c57bb8cd205b61fa5dfa1a84f1' into upstream-merge
* commit '4c955388572068c57bb8cd205b61fa5dfa1a84f1': Define ENOTSUP anywhere it isn't defined Revert "Fake dirty loggin when it's not there" Fix out of tree build broken by 791e08c753a9f9be3c3880b4ea83b6dfa4b6ccad Fix typo WIN32 -> _WIN32 set SEARCH_PATH for the linker script from output of ld --verbose -v generate LDFLAGS for *-linux-user and *-bsd-user in a single place in configure our build system don't support mips little endian linux-user or bsd-user Don't build option roms on Mac OS X multiboot.bin is a generated file use cc-option for optionrom Use quiet-command for building optionrom move cc-option definition to rules.mak Generate config-host.h from config-host.mak Signed-off-by: Avi Kivity <avi@redhat.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 6f0bab901..f17bf91d0 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -319,7 +319,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) {
@@ -328,11 +327,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);
@@ -344,8 +338,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;
@@ -359,10 +352,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;