qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH 10/10] introduce qemu_ram_map


From: Marcelo Tosatti
Subject: Re: [Qemu-devel] Re: [PATCH 10/10] introduce qemu_ram_map
Date: Mon, 26 Apr 2010 16:45:01 -0300
User-agent: Mutt/1.5.20 (2009-08-17)

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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]