0

I am using a powerpc processor booting with u-boot and running kernel 3.18, with 1G DDR RAM.

I configure a PCIe inbound window with u-boot from address 0x3FE00000 to 0x3FE200000(DDR goes from address 0x00000000 to 0x40000000).

Then, I boot the kernel and I keep PCIe inbound memory window as configured on u-boot. The kernel starts a process in charge of reading PCIe incoming messages by using mmap to read 0x3FE00000 PCIe inbound address, messages start being received and at some point, some of the processes running on kernel give a segmentation fault or an illegal instruction exception. If no PCIe messages are received, processes always run properly.

Any suggestions on what may be the source of the problem? Should the PCIe inbound memory windows be reserved so that the kernel does not give an exception when receiving a new PCIe message? If so, how should I reserve these regions?Can they be configured through the device tree?

Thanks in advance!

martrab
  • 11
  • Can you give the exact part name of your powerpc processor ? You can't give PCI-e addressing space in the DDR space I think. – FabienM Oct 17 '15 at 10:52
  • Thank you for your response! It is a QorIQ P1012 processor. I think that according to the P1012 reference manual,the PCIe inbound windows should be placed in the DDR space. Maybe this limitation is given by the kernel? – martrab Oct 18 '15 at 19:52

0 Answers0