Hello Hurd, Now I've finished porting lwip 2.1.2, I'd like to work on the pci arbiter again.
Before starting to work, I'd like to know the current status of the arbiter. I've been taking a look at the old mails, please tell me if I'm wrong: 1- If I understood it right, the translator no longer accesses the pci port directly, it uses libpciaccess instead, right? so, for a driver in netdde that wants to access the bus, the big pictures is this: netdde -> libpciaccess -> arbiter -> libpciaccess -> hardware Am I right? How does libpciaccess know when it's being used by the arbiter and when by a user task? 2- About the patch [1], I haven't read it thoroughly, but it includes the changes to make the arbiter use libpciaccess instead of probing the bus directly. But I don't see the code commited in hurd's upstream, is it because nobody reviewed it, or is there some problem? 3- In libpciaccess upstream there are some commits by Damien Zammit, one of them with the new modules for the Hurd. I wonder: this new module expects to be used from both user tasks and the translator? 4- About pciutils, is something ours in upstream? Damien, did you send patches to pciutils? 5- The TODO in the pci-arbiter folder includes this entry: - pci_get_ndevs should be deprecated, applications shouldn't be relying on this Is this the only change you guys think it should be done in the interface? Are the other operations OK for you? 6- What do you think is the priority? I'd say it's this: 1- Define and implement the changes in the interface. 2- Try to make the modules upstream 3- Make the arbiter a memory pager 4- Make netdde non-root Any thoughts? Joan ------- [1] https://lists.gnu.org/archive/html/bug-hurd/2018-11/msg00033.html