Estou trabalhando em uma placa Tegra TK1 usando o driver Xillybus para se comunicar com um FPGA via PCIe. A placa também tem uma segunda conexão PCIe para se comunicar com outro dispositivo. Durante a inicialização, carrego os drivers Xillybus e executo meus aplicativos PCIe. No entanto, um dos meus aplicativos entra em uma condição de paralisação, e suspeito que isso pode estar relacionado a essas mensagens do kernel que estou vendo:
[ 20.929042] PCIE: Target abort, signature: 00101f01
[ 20.933937] PCIE: Target abort, signature: 00100001
[ 20.938827] PCIE: Target abort, signature: 00100b01
[ 20.943715] PCIE: Target abort, signature: 00101c01
Estou tentando entender o que essas mensagens "Target abort" significam e como decifrar os valores de assinatura (por exemplo, 00101f01). Acho que isso pode me ajudar a depurar o problema com o aplicativo.
Aqui está o que pesquisei até agora:
- Verifiquei os mapeamentos BAR (Base Address Registers) usando lspci e eles parecem corretos.
- Consultei a documentação do Xillybus, mas ela não fornece detalhes sobre esses logs do kernel.
- Suspeito que as mensagens estejam relacionadas ao controlador host PCIe ou ao diagnóstico de hardware no Tegra TK1, mas não tenho certeza de como decodificar esses valores de "assinatura".
Alguém pode explicar o que essas mensagens de "Abortamento de destino" indicam, como interpretar os valores de assinatura ou fornecer orientações sobre como depurar esse problema?
Isso indica que uma solicitação não publicada foi enviada ao dispositivo e ele respondeu com uma conclusão cujo campo Status foi definido como "Abortamento do concluinte", o que indica que o erro é permanente e a solicitação não deve ser repetida porque a resposta não será diferente.
Então, a implementação PCIe no FPGA relatou um erro, provavelmente porque o barramento interno se recusou a decodificar o endereço. Minha expectativa é que o lado do host funcione como pretendido, e isso é um problema com seu HDL.