Eu posso dar pelo menos alguns detalhes, mesmo que eu não possa explicar completamente o que acontece.
Como descrito, por exemplo, aqui , a CPU se comunica com o Controlador de barramento PCIe por pacotes da camada de transação (TLPs). O hardware detecta quando há falhas, e o kernel Linux reporta isso como mensagens.
A opção do kernel pci=nommconf
desabilita o Espaço de Configuração PCI Mapeado na Memória, que está disponível no Linux desde o kernel 2.6. Mais ou menos, todos os dispositivos PCI têm uma área que descreve esse dispositivo (que você vê com lspci -vv
) e o método original para acessar essa área envolve passar por portas de E / S, enquanto o PCIe permite que esse espaço seja mapeado para a memória. acesso mais simples.
Isso significa que, nesse caso específico, algo dá errado quando o controlador PCIe usa esse método para acessar o espaço de configuração de um determinado dispositivo. Pode ser um bug de hardware no dispositivo, no controlador de raiz PCIe na placa-mãe, na interação específica desses dois ou em outra coisa.
Usando pci=nommconf
, o espaço de configuração de todos os dispositivos será acessado da maneira original e a alteração dos métodos de acesso contorna esse problema. Então, se você quiser, está resolvendo e suprimindo isso.