Revision 95d2994a kvm-all.c
b/kvm-all.c | ||
---|---|---|
454 | 454 |
return ret; |
455 | 455 |
} |
456 | 456 |
|
457 |
int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size) |
|
457 |
static void kvm_coalesce_mmio_region(MemoryListener *listener, |
|
458 |
MemoryRegionSection *secion, |
|
459 |
target_phys_addr_t start, target_phys_addr_t size) |
|
458 | 460 |
{ |
459 |
int ret = -ENOSYS; |
|
460 | 461 |
KVMState *s = kvm_state; |
461 | 462 |
|
462 | 463 |
if (s->coalesced_mmio) { |
... | ... | |
466 | 467 |
zone.size = size; |
467 | 468 |
zone.pad = 0; |
468 | 469 |
|
469 |
ret = kvm_vm_ioctl(s, KVM_REGISTER_COALESCED_MMIO, &zone);
|
|
470 |
(void)kvm_vm_ioctl(s, KVM_REGISTER_COALESCED_MMIO, &zone);
|
|
470 | 471 |
} |
471 |
|
|
472 |
return ret; |
|
473 | 472 |
} |
474 | 473 |
|
475 |
int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size) |
|
474 |
static void kvm_uncoalesce_mmio_region(MemoryListener *listener, |
|
475 |
MemoryRegionSection *secion, |
|
476 |
target_phys_addr_t start, target_phys_addr_t size) |
|
476 | 477 |
{ |
477 |
int ret = -ENOSYS; |
|
478 | 478 |
KVMState *s = kvm_state; |
479 | 479 |
|
480 | 480 |
if (s->coalesced_mmio) { |
... | ... | |
484 | 484 |
zone.size = size; |
485 | 485 |
zone.pad = 0; |
486 | 486 |
|
487 |
ret = kvm_vm_ioctl(s, KVM_UNREGISTER_COALESCED_MMIO, &zone);
|
|
487 |
(void)kvm_vm_ioctl(s, KVM_UNREGISTER_COALESCED_MMIO, &zone);
|
|
488 | 488 |
} |
489 |
|
|
490 |
return ret; |
|
491 | 489 |
} |
492 | 490 |
|
493 | 491 |
int kvm_check_extension(KVMState *s, unsigned int extension) |
... | ... | |
817 | 815 |
.log_global_stop = kvm_log_global_stop, |
818 | 816 |
.eventfd_add = kvm_mem_ioeventfd_add, |
819 | 817 |
.eventfd_del = kvm_mem_ioeventfd_del, |
818 |
.coalesced_mmio_add = kvm_coalesce_mmio_region, |
|
819 |
.coalesced_mmio_del = kvm_uncoalesce_mmio_region, |
|
820 | 820 |
.priority = 10, |
821 | 821 |
}; |
822 | 822 |
|
Also available in: Unified diff