• Jake Oshins's avatar
    drivers:hv: Track allocations of children of hv_vmbus in private resource tree · be000f93
    Jake Oshins authored
    This patch changes vmbus_allocate_mmio() and vmbus_free_mmio() so
    that when child paravirtual devices allocate memory-mapped I/O
    space, they allocate it privately from a resource tree pointed
    at by hyperv_mmio and also by the public resource tree
    iomem_resource.  This allows the region to be marked as "busy"
    in the private tree, but a "bridge window" in the public tree,
    guaranteeing that no two bridge windows will overlap each other
    but while also allowing the PCI device children of the bridge
    windows to overlap that window.
    
    One might conclude that this belongs in the pnp layer, rather
    than in this driver.  Rafael Wysocki, the maintainter of the
    pnp layer, has previously asked that we not modify the pnp layer
    as it is considered deprecated.  This patch is thus essentially
    a workaround.
    Signed-off-by: default avatarJake Oshins <jakeo@microsoft.com>
    Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    be000f93
vmbus_drv.c 34.8 KB