Is there any way to boot up host pc fisrt?

I’m handling the PCIe end-point mode, and found a comment in NVIDIA Jetson AGX Xavier PCIe Endpoint Design Guidelines that says Jetson must be setup before the host PC boot up.

This might be annoying.

Is there any way to boot up the host PC first?

What are we trying to achieve by booting the host PC first? If any, as per the design guidelines, we have to boot the endpoint platform first.

I’m sorry for late update.
Because I’m trying to utilize the Xavier module as an PCI card for a desktop PC.
So I want to make it hands-free.

Just a comment on PCI: PCI is capable of “hot plug” in most cases. It’s great if the end point (in this case probably the Jetson, though the Jetson is normally host and not end point) is available at the moment power up is started on the host PC, in which case there is no need for hot plug (a good example is a PCIe network adapter…they don’t require any time to boot and will “just be there” the moment the host starts booting…something like an FPGA is an example of something which has delays due to its own booting and will not “just be there” at the moment of power up).

Jetsons do not normally enable hot plug, although PCs normally do. Jetsons are trying to conserve power, and if they don’t see an end point (when operating normally as a host) on the PCI bus at the moment of the Jetson enumerating any PCI end points, then Jetsons remove PCI bus power (making late enumeration impossible without edits to that behavior). There are steps available to enable the Jetson’s host mode hot plug detect should this be required while operating in host mode, but this won’t matter if the Jetson is an end point and not a host. In the latter case it is the host PC which needs to allow hot plug (I believe the host PC would not disable power to PCIe slots after boot the way an uncustomized Jetson would).

I don’t know know what steps might be needed on a host PC to actually tell it to late enumerate (perhaps no steps are needed) and find a Jetson which only completed boot as an end point after the PC itself had already booted. Some step might be needed, don’t know.

The whole point of this is that it is important to make it very clear if the Jetson is itself operating as an end point or if it is acting as a host…a PCI card carrier could be either depending on your design. Whatever the Jetson operates as, the host PC must act as the opposite. Regardless of which is which, there might be an action required for late enumeration, and I guarantee that if the Jetson acts as a host then it will need some edits to allow late enumeration of any delayed end point on its PCI bus.

Remember the old PCMCI cards which you could hot plug into a laptop?

Old parallel PCI, serial PCIe, and PCMCIA are all PCI, just different PHY. Those PCMCIA are an example of something intentionally taking advantage of hot plug (both electrically and via software). There is a need to protect against electrical failure when truly hot plugging something PCI on a bus, and this is basically what the PCMCIA was: An electrical protection for true hot plug. When the device is present before power is started, but not fully booted, then technically it is the software side with late enumeration, which would be called “warm boot” and not truly “hot swap” or “hot plug”, but the software side is the same across all of those late enumeration devices. I suspect you have no intent to actually perform a physical plugin of any PCIe card to a host which is already powered up, but it is a good illustration.

Be very clear about which side you expect to run as a host versus end point. Given the PCIe carrier board, it seems you want the Jetson to be an end point, but that isn’t entirely clear at this point since the Jetson could work as either.

FYI, you may actually want a PCIe Jetson carrier, but if you want something “like” a Jetsons (in capabilities), but for mount, be aware there is something for health care on PCIe already, known as NVIDIA Clara.