Ok so I'm going to answer my own question.
The answer is that the vdi (local SR) you are trying to boot from and the pci slots are on two different machines and you need to migrate the boot vdi to a shared pool sr or to the local sr of the machine with the pci slots!