Thank you Greg.
About the last one , it's been a while but I wasn't sure whether Linux was going to do its own enumeration.
Of course it's best to take advantage of all the stuff done by UEFI , padding etc.

S

On Thu, 13 Feb 2020 at 12:48, Greg KH <greg@kroah.com> wrote:
On Thu, Feb 13, 2020 at 12:40:59PM -0500, Sadanand Warrier wrote:
> Hi
>    I had  question about PCIe hotplug. We have hardware that is connected
> to the host by means of two PCIe switches. i.e. the host sees a PCIe switch
> connected to one of its buses and on the far side of that switch another
> PCIe switch which has a PCIe device.
>    It is possible that this device does not train its host facing PCIe
> links before the server enumerates down its PCI bus and reaches those
> links. It is also possible the PCIe switch to which the device is attached
> has not been able to train its own links before server enumeration.
>   Is PCIe hotplug built to work on schemes like this? Let us assume that
> the hardware has been designed to trasmit a presence signal once the links
> are trained but this could happen after the server enumeration?

Look at the PCIe hotplug spec, it should answer all of your questions
about this.

>   Incidentally does the server take advantage of the BIOS/UEFI enumeration?

Yes, of course, how else would the kernel be able to enumerate PCI
devices?  :)

thanks,

greg k-h