Skip to content
  • Stephen Hemminger's avatar
    linux: support 32 bit PCI domains (v3) · a167bd64
    Stephen Hemminger authored and Adam Jackson's avatar Adam Jackson committed
    The PCI domain may be larger than 16 bits on Microsoft Azure and other
    virtual environments. PCI busses reported by ACPI are limited to 16
    bits, but in Azure the domain value for pass through devices is
    intentionally larger than 16 bits to avoid clashing with local devices.
    This is needed to support pass through of GPU devices.
    
    v3: (ajax)
    Update FreeBSD and Solaris backends to preserve the full 32-bit domain
    number, since on those OSes it stands a chance of working already.
    Update NetBSD and OpenBSD backends to initialize domain_16 compatibly
    with older libpciaccess; neither backend appears to support more than a
    handful of domains to begin with though. Trivially update the generic
    x86 backend for source compatibility, though it still only supports one
    domain and will never be better.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101744
    
    
    Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    a167bd64