On 9 October 2012 17:32, Avi Kivity <a...@redhat.com> wrote: > Instead of calling a global function on coalesced mmio changes, which > routes the call to kvm if enabled, add coalesced mmio hooks to > MemoryListener and make kvm use that instead.
> -int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size) > +static void kvm_coalesce_mmio_region(MemoryListener *listener, > + MemoryRegionSection *secion, > + target_phys_addr_t start, ram_addr_t > size) > { > + void (*coalesced_mmio_add)(MemoryListener *listener, MemoryRegionSection > *section, > + target_phys_addr_t addr, target_phys_addr_t > len); These disagree about the type of the 'size/len' parameter, which means this doesn't compile on 32-bit systems where target_phys_addr_t is 64 bits but ram_addr_t is 32 bits: /home/petmay01/git/qemu/kvm-all.c:818:5: error: initialization from incompatible pointer type [-Werror] /home/petmay01/git/qemu/kvm-all.c:818:5: error: (near initialization for ‘kvm_memory_listener.coalesced_mmio_add’) [-Werror] /home/petmay01/git/qemu/kvm-all.c:819:5: error: initialization from incompatible pointer type [-Werror] /home/petmay01/git/qemu/kvm-all.c:819:5: error: (near initialization for ‘kvm_memory_listener.coalesced_mmio_del’) [-Werror] -- PMM