My company is working on creating a robust system that can handle our Xilinx Kintex 7 going offline without taking Linux with it. Unfortunately, If we take a working system and unconfigure the fpga while writing to the pcie space we get a series of events that cause the cpu to hang. Any help is greatly appreciated!
1)The Fpga is unconfigured
2)The mmaped pcie space is no longer valid and throws a imprecise external abort on the next write.
3)The default abort handler is called in drivers/pci/host/pci-imx6.c (imx6q_pcie_abort_handler()).
4)The default abort handler returns 0 "abort Handled".
5)The next write to the fpga's pcie space causes the cpu to hang.
We are working on tracking this down with the Dstream debugger but so far no luck.
CPU: Arm IMX6Q
FPGA: Xilinx Kintex 7
Kernel: freescale 3.10.53