On Fri, Oct 12, 2001 at 04:21:28PM -0400, Roland McGrath wrote:
> It's easy enough to either have a different ktss and switch to it, or just
> to link-time override the base_tss definition (the oskit puts it in a
> separate file to make this easy).

I think link-time is better, and I am working this in.  Thanks for the
pointers.

> It doesn't matter if the bitmap and barrier aren't initialized during
> bootup.  It only matters when you go to user mode; at IOPL 0, the bitmap is
> not consulted.
>
> Note that we have to adjust the BASE_TSS segment limit and reload (call
> base_tss_load) after preparing the bitmap anyway.

I think in oskit/x86/main.c, machine_init(), just before starting the
mulitprocessor stuff, is a nice place to update the BASE_TSS descriptor,
correct the io_bit_map_offset in base_tss and initialize the barrier.
I think this is the last place before the secondary cpu's TSSs are set up,
and as they copy the main tss, I think it should be done just before that
(although there is no requirement to do it in that order).

As all tasks start out with no permissions, we don't need to initialize the
bitmap, just the offset.

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann              GNU    http://www.gnu.org    [EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to