Robert Millan, le Thu 17 Sep 2015 21:55:32 +0200, a écrit : > As for the rest of PCI devices, AFAICT they're free to be used by whoever > wants them. My understanding is there's no need for an arbiter / multiplexer > as long as all the code playing with PCI devices is well-aware of its limits.
Yes, for the daily work, the driver can behave well. But to know where the PCI registers are, you need to read that from the config. And that includes unsafe concurrent accesses (i.e. write to a register, read the value). See inside libpciaccess, x86_pci.c which does inl(); outl(); inl(); outl(); > >We'd need a common PCI translator to multiplex accesses to the config space, > > Rump accesses the PCI config space using libpciaccess. Are there coherency > issues > with separate processes doing this concurrently? Yes, because the config port (0xCF8) is shared. Samuel