Hello, Damien Zammit, le dim. 21 févr. 2021 17:00:32 +1100, a ecrit: > > ? once libpciaccess gets a port on pci-arbiter's root, it can use > > file_name_lookup_under to open directories and files in it. libnetfs > > will want to check permissions, but it could be made to accept anything > > when auth/proc are not available yet. > > Not sure why, but my rump code calling into libpciaccess using hurd method > hangs on trying to openport the root pcifs: > > Here is part of enum_devices in my libpciaccess: > > mach_print("openport..."); > fd = openport (root, O_DIRECTORY | O_RDONLY | O_EXEC);
Mmm. I guess that's missing _hurd_init initialization. It would be tricky to separate out the really basic pieces from proc/auth initialization, I'd say it will be a lot less tricky to just make hurd_pci.c use the dir_readdir RPC directly on the root port instead of going through the readdir layer. dir_readdir is not that complex to use. Similarly, if pci_device_hurd_read_rom ever gets to be called, use dir_lookup/io_read instead of open/read. Samuel