• S
    dataplane: add host memory mapping code · 185ecf40
    Stefan Hajnoczi 提交于
    The data plane thread needs to map guest physical addresses to host
    pointers.  Normally this is done with cpu_physical_memory_map() but the
    function assumes the global mutex is held.  The data plane thread does
    not touch the global mutex and therefore needs a thread-safe memory
    mapping mechanism.
    
    Hostmem registers a MemoryListener similar to how vhost collects and
    pushes memory region information into the kernel.  There is a
    fine-grained lock on the regions list which is held during lookup and
    when installing a new regions list.
    
    When the physical memory map changes the MemoryListener callbacks are
    invoked.  They build up a new list of memory regions which is finally
    installed when the list has been completed.
    Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
    185ecf40
hostmem.h 1.5 KB