On Mon, Apr 26, 2010 at 02:20:42PM -0500, Anthony Liguori wrote: > On 04/26/2010 02:14 PM, Marcelo Tosatti wrote: > >On Mon, Apr 26, 2010 at 01:57:37PM -0500, Anthony Liguori wrote: > >>On 04/26/2010 01:50 PM, Marcelo Tosatti wrote: > >>>On Mon, Apr 26, 2010 at 01:29:06PM -0500, Anthony Liguori wrote: > >>>>On 04/26/2010 12:59 PM, Marcelo Tosatti wrote: > >>>>>Which allows drivers to register an mmaped region into ram block mappings. > >>>>>To be used by device assignment driver. > >>>>> > >>>>This is not kvm specific and not required by this pull request so it > >>>>shouldn't really be part of the pull. Something like this should > >>>>only be added when there's an actual consumer. > >>>The user will be hw/device-assignment.c in qemu-kvm. And also Cam has > >>>the need for a similar interface for shared memory drivers. > >>It should be part of one of those submissions. > >OK > > > >>>@@ -726,10 +724,6 @@ > >>> kvm_remove_ioperm_data(region->u.r_baseport, region->r_size); > >>> continue; > >>> } else if (pci_region->type& IORESOURCE_MEM) { > >>>- if (region->e_size> 0) > >>>- kvm_destroy_phys_mem(kvm_context, region->e_physbase, > >>>- TARGET_PAGE_ALIGN(region->e_size)); > >>>- > >>> if (region->u.r_virtbase) { > >>> int ret = munmap(region->u.r_virtbase, > >>> (pci_region->size + 0xFFF)& 0xFFFFF000); > >>How does hot unplug get dealt with? > >The regions will have such mappings unmapped from QEMU (and KVM) via > >cpu_register_physical_memory(IO_MEM_UNASSIGNED) via > >pci_unregister_io_regions. > > But how do you qemu_ram_unmap()? I see you munmap() that address > but it looks like the qemu ram region gets leaked pointing to an > invalid pointer. Yes, qemu_ram_free() is not implemented. last_ram_offset always moves forward. But there should be no references to the memory mapping anymore, after the device is hot-unplugged. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html