• L
    conf: allow type='pci' addresses with no address attributes specified · 8f578716
    Laine Stump 提交于
    Prior to this, <address type='pci'/> wasn't allowed when parsing
    (domain+bus+slot+function needed to be a "valid" PCI address, meaning
    that at least one of domain/bus/slot had to be non-0), the RNG
    required bus to be specified, and if type was set to PCI when
    formatting, domain+bus+slot+function would always be output.
    
    This makes all the address attributes optional during parse and RNG
    validation, and suppresses domain+bus+slot+function if domain+bus+slot
    are all 0 (NB: if d+b+s are all 0, any value for function is
    nonsensical as that will never happen in the real world, and after
    the next patch we will always assign a real working address to any
    empty PCI address before it is ever output to anywhere).
    
    Note that explicitly setting all attributes to 0 is equivalent to
    setting none of them, which is okay, since 0000:00:00 is reserved in
    any PCI bus setup, and can't be used anyway.
    8f578716
device_conf.c 7.2 KB