Hi All
Please can someone confirm whether there is or is not an issue when accessing a PCI bus device from different threads. In my application, I intend to connect to a PCI bus attached FPGA using;
pci_attach_device( NULL,(PCI_SHARE | PCI_SEARCH_VENDEV | PCI_INIT_ALL),0,&PCI_device_info );
I then hope to map the device into memory using;
mmap_device_memory( NULL,PCI_device_info.BaseAddressSize[1], PROT_READ | PROT_WRITE | PROT_NOCACHE, MAP_SHARED,PCI_device_info.CpuBaseAddress[1] );
Then access the memory as if it were ordinary memory. I want to be sure that there is no issue with different threads accessing different parts of the mapped memory when running on a multicore SMP system. Can I assume the OS / BIOS will
manage the PCI bus access to separate mapped areas by separate threads? Obviously if the threads need to access the same memory mapped location then I would need to prevent simultaneous access. But do I need to prevent simultaneous access to different mapped
areas?
Kindest regards,
Alastair