AnsweredAssumed Answered

PCIe machine check - "Access to an illegal configuration space"

Question asked by Seth Opgenorth on Mar 6, 2018
Latest reply on Mar 24, 2018 by Yiping Wang

On our system (a P2010 or P1014 configured in RC mode), we will occasionally get a machine check exception during reboot tests of startup initialization. 


The machine check is marked as being a BUS_RBERR, and occurs on an lwz instruction to PCIe IO space. 


- PEX_CONFIG_ADDR = 0x8001_0000 (EP's PCIe vendor ID read)
- PEX_CONFIG_DATA = 0x4c10_8888
- PEX_ERR_DR = 0x8002_0000
      - bit 0 - multiple errors (this seems to always be on regularly during "good" operation)
      -  bit 14 - Access to an illegal configuration space from PEX_CONFIG_ADDR
- PEX_ERR_CAP_STAT = 0x0000_0041
      - bit 25 - transaction originated from PEX_CONFIG_ADDR/PEX_CONFIG_DATA
      - bit 31 - error capture valid




What situations can cause the PCIe peripheral to generate this "Access to an illegal configuration space from PEX_CONFIG_ADDR"? Everything that we're doing seems valid and works 97% of the time. It's as if there is some sort of race condition that we're not aware of.