Hi,

I made the changed in the device mapper to implement the offset, also updated 
my branches of hurd and libpciaccess accordingly.

It wasn't as trivial as it seemed, there were some /* HACK */ lines which in 
fact limited the number of pagers per device to 1, so once the system got a 
pager for "mem" at offset 0, I couldn't give it another offset without that 
affecting all other memory mappings for that device. I updated the structure of 
the hash table to get rid of the /* HACK */ lines and support many pagers per 
device, one pager per [device,offset]. (BTW, why is the the hash table limited 
to 127 slots?)

On the other hand, I couldn't think of any other way to get rid of the struct 
pci_user_data to get the pager from the arbiter. Any ideas? I'll work on the 
new libpciaccess interface for the Hurd to get the pager unless somebody has a 
better idea.



Reply via email to