Many PCIe end point (EP) cards have on them, a memory device which is accessible to the Mother board (or Root Complex - RC). This memory device traditionally contains extensions to the existing system software and BIOS. These extensions are actual CPU code which is executed by the RC.
Historically, the CPU has been predominantly x86 family devices. And, the extension code would be for that CPU. With the advent Server Class processor diversity, this has changed and ARM has been leading the diversification. This change was foreseen and considered into the design of the next generation of system software called UEFI and outlined UEFI Option ROM.
ARM Developer has more information on this subject at their forum found here ARM Developer UEFI Drivers.
The above often has no impact on PCIe cards which are not needed until the Operating system (OS) boots. This is because the OS drivers often can work without these extensions.
Many of these PCIe cards will work once the Operating system is booted and running the appropriate device drivers and application code.
The great result is that PCIe card extension code can be executed by a diverse number of CPUs allowing the enhancements to be used by more CPU architectures.
The unfortunate result is that each PCIe card manufacture will be catching up with ThunderX and ARM.
Summary is that many PCIe cards are compatible once the OS boots. However, cards which extend BIOS itself will need to include modern UEFI Option ROM with support for ARM64.
PCIe card types which are known to extend BIOS include:
- PXE booting Network Interface Cards (NIC)
- RAID cards which represent several drives as a single volume to BIOS
- GPU cards which supplant the system 'console' over the GPU display
Great news is that Marvell is leading this diversification with its FastLinq Branded cards have been tested by Phoenics Electronics FAE team to work for PXE boot with the ThunderX Server Family products using the Gigabyte built platforms.