Hi all, It seems that with the following two commits on gnumach and hurd:
http://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=6951d552749fe24d0c9514ac6efec2c09e567b8d http://git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=258b45cde4d48149e410012b06bf2071dbba21b4 rumpdisk is now working correctly, (albeit probably inefficiently). Thanks to Samuel, for fixing gnumach and realising the problem with our use of rump. I'm reading the commits, but I'm not sure I understand correctly. My understanding is that vm_allocate_contiguous() in gnumach now honours the pmax variable by providing a contiguous allocation of physical memory below pmax. However, the virtual addresses of each page may not be consecutive necessarily, is that correct? And so to avoid the problem with the allocator and rump's assumption that dma is contiguous in both virtual address space and physical address space, rumpdisk now transfers only a page at time (?) Damien