Hello everyone, I hope you all are healthy, safe, and doing well. I received an excellent suggestion from Bjorn H. to post my conundrum here, in hopes that perhaps some of you might offer some suggestions for a challenge I'm facing. Thank you for a bit of your time. I've gotten started on a challenging ask rooted in the desire to obtain resource box slot information (for orchestration) prior to binding the resource box to a host. It is an interesting challenge given the variety of hardware which may or may not support SMBus connections to cards, cards that may not support SMBus, and resource boxes that have varying degrees of functionality (if any). At my disposal is a pretty light-weight COM to which I can bind resource boxes one at a time via a fan-out switch. Having bound a resource box to the COM, the hope is to somehow enumerate/discover (but not provision) the PCIe tree of the resource box to obtain basic information available from Configuration Space such as EP vendor/device IDs, serial number (if available), BAR sizes, etc. I've made some basic attempts with setpci, but have found that setpci seems to really want the target devices to already have been enumerated. libpciaccess seems to depend on this as well. Might any of you know of a way by which I can manually perform configuration reads/writes to devices which have not been enumerated by the system? More heavily-handed, the rescan capabilities in /sys/devices/.../rescan does both enumeration and provisioning, which presents a different problem. The COM really doesn't have the resources to provision arbitrary JBOF/JBOG populations, and I've been able to prove that out. Using pci=assign-busses,hpbussize=<big number> with only partially populated resource boxes, rescan has successfully enumerated all of the buses, but complete provisioning fails (though the kernel happily does not crash). Because the buses get fully enumerated, I've then been able to extract the info I want via lspci/setpci, and then /sys/devices/.../remove the branch. This raises the question of whether someone might know of a way to ask the system to perform enumeration without provisioning? (or somehow suppress the provisioning?) Bjorn brainstormed/suggested looking at setpci's -H1/H2 options, trying ECAM from user space, and several other ideas, all of which I'll be looking into. If any of you have some experience with trying this kind of thing, or at least a reference or creative suggestion to try I'd be grateful for your thoughts. Again, thanks for your time. Blessings, Doug Meyer