Hi arv,
Here's the response from one of our engineers:
I am not sure I understand your setup. In particular, it is not clear what you meant by "custom board, which connects 2 PCs over a PCIe bridge, which need to share a common PCIe device."
If you are thinking of building a system that forwards memory accesses from one node (PC) to another then IOMMU really doesn't add much conceptually, it just allows for more flexibility and possibly improves performance. It is only in play on the receiving end, when your PCI packet is about to enter HyperTransport "domain." All IOMMU does is it remaps (physical) memory address that the PCI packet originally had to another address. In principle, if you programmed your PCI device appropriately, you wouldn't need IOMMU.
I am simplifying a bit here but this is a general idea.
Thanks.