If copying it all every time is good enough for Linux, it's good enough for us.
You can change the bitmap offset in the tss with little cost, so you can always use a smaller bitmap stored at the tail end of the tss segment. For each task, keep track of the highest port number whose bit is set. At task switch, copy only that number of bits into the tail end of the tss segment, and reset the tss io bitmap slot to start that many bits back (actually you have to round this all to bytes). Linux could be said to do the limiting case of this, since it always either sets the offset at the end of the segment and copies no bits, or always copies exactly 1024 bits. That's what you'll get here for a bitmap-less task and a task using port 0x3ff. _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd