The 0xff byte after the bitmap is a terminator byte, check your Intel book vol 1, section 9.5.2. So that, at least, is not the bug you thought it was. Note that that extra byte is included in the calculation for the segment descriptor limit (which is a limit, not a size, so it always has -1).
Your fix is ok, though I would use memset (not that it matters for a boot-time only thing). According to my Intel book, the other solution is to have no io bitmap space at all: missing bits are treated as disallowed if the bitmap is shorter than 64k, down to 0. So just changing the limit in the fill_gdt_descriptor call to sizeof(ktss)-1 should do it too. If that solution works, it seems preferable off hand. (That is what you get from oskit's base_tss, which oskit-mach uses.) _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd