FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
告知
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
6673 ディスカッション

PCIE surprise removal BIOS crash when reprogramming

AndyRea
ビギナー
2,199件の閲覧回数

using an Arria 10 with Hard PCIe engine for a DMA application with Ubuntu 20.x Linux as the host OS

when the card is in a newish HP machine, re-programming the FPGA through JTAG once installed and running in the machine causes an instand PCIE surprise down type low level crash which needs a key press to then resume booting

 

older gigabyte machine didn't care so was ok but now that died and am stuck with the HP G4 PC and this issue, it's a bit boring with essentially having to keep the flash boot un-programmed and then having : shutting the machine down, starting it up, booting, JTAG program and reboot to then be able to reload the kernel driver and start the next tests.

 

Does anyone have an easier way of getting past the BIOS PCIe exception or thoughts?  I dont think there are any things I can do in Linux as it seems to be lower levle than this and i have crawled all through the BIOS settings but found nothing that seems to make a difference enabled or disabled

 

there must be an easier way of PCIe dev than this?!

 

thanks for any suggestions

 

Andy

0 件の賞賛
4 返答(返信)
SengKok_L_Intel
モデレーター
2,140件の閲覧回数

This is expected the PCIe link will be lost when you reconfigure the FPGA. What you can probably do is mask the Advanced Error Reporting (Uncorrectable Error and correctable error) from the Host (RP) before re-configure the FPGA, so that it will not take any action when the PCIe link is lost.


AndyRea
ビギナー
2,122件の閲覧回数
How do you do that? I have no idea what that entails
SengKok_L_Intel
モデレーター
2,085件の閲覧回数

You may use the setpci command, below is the example code, and you need to do it by using the right BDF in the PCIe tree topology.

sudo setpci -s 86:00.0 ECAP_AER+0x08.L=0xffffffff

sudo setpci -s 86:00.0 ECAP_AER+0x14.L=0xffffffff


*86:00.0 is the BDF


SengKok_L_Intel
モデレーター
2,044件の閲覧回数

If further support is needed in this thread, please post a response within 15 days. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


返信