Re: I/O permissions for V86 tasks (Enhanced V86 Mode)?

Ian Collier (imc@comlab.ox.ac.uk)
Tue, 21 Jul 1998 14:21:23 +0100 (BST)


On Mon, 20 Jul 1998 19:21:08 -0800, Kendall Bennett said:
> From: alan@lxorguk.ukuu.org.uk (Alan Cox)
> > The only problem there is Linus 8K hack
> > and the fact a 16K block is really pushing things harder in the current
> > mm problems. You have to do this in advance too - trying to swap the
> > kernel stack of a task is not a sane proceedure.

For the sake of argument, suppose we pretended the task forked and exited,
but the child had the same pid and ppid. Since fork and exit exist in
the kernel there must be _some_ way of destroying TSSs and allocating new
ones. :-)

> Well I understand about 50% of what you just said. I can see how it
> could be moved to the end of the task structure to make things easier
> for re-sizing, but I don't undertand the 8K hack you mention. Will
> this affect our patch that allocates a full 8Kb I/O bitmap?

Yes. This refers to 2.1.x. In 2.0.x the kernel stack is allocated
separately from the TSS (which is allocated by kmalloc(sizeof TSS))
and a pointer to the stack is stored in tss->esp0. It seems that in
2.1.x an 8K TSS is allocated by get_free_pages and there is no separate
stack. The value TSS+8K is stored in tss->esp0. In order to make the 8K
bitmap patch work on 2.1.x you will need to change the "allocate thread
struct" macro to allocate 16K instead of 8K and make sure that the right
number goes into tss->esp0.

imc

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html