bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TSS switching


From: Marcus Brinkmann
Subject: Re: TSS switching
Date: Mon, 15 Oct 2001 23:56:01 +0200
User-agent: Mutt/1.3.22i

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 brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]