I'm a bit naive when it comes to how interconnects like PCI work, but other than OS level drivers being available, is there any technical reason why CPU architecture could restrict PCI device support?
That is to say, if the drivers were signed and supported on macOS, could you theoretically take any modern PCIe device from a PC and run it in an ARM-based PC, Mac, whatever?
There's also the I/O ports (PCI has three address spaces: configuration, memory, and I/O, with the I/O space being a legacy x86 thing which does not exist on ARM and most other CPU architectures), which some cards might require; and the PCI address window (BAR space), which might be too small for some cards (usually GPUs; see for instance https://www.jeffgeerling.com/blog/2020/external-gpus-and-ras... for a couple of examples where it was too small.
That is to say, if the drivers were signed and supported on macOS, could you theoretically take any modern PCIe device from a PC and run it in an ARM-based PC, Mac, whatever?