conf: allow type='pci' addresses with no address attributes specified
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.
Showing
想要评论请 注册 或 登录