[lkml]   [1998]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: I/O permissions for V86 tasks (Enhanced V86 Mode)?
Hi Ian and others,

After Ian's last email I started investigating what would be
necessary to change the kernel code such that it has a variable sized
I/O bitmap so that we can avoid the overhead of an 8Kb I/O bitmap for
evert task. It appears that in the latest kernel development sources
(I am looking at 108; I have yet to install 109) the tss.bitmap
pointer is initially set to point past the end of the TSS structure
so that it causes a seg fault for any I/O access (unless of course
iopl(3) is in effect). The bitmap itself is not actually initialised
until the first time a thread calls the ioperm() system call.

Now this means that the kernel *could* be modified such that the I/O
bitmap is not allocated at all by default for a task, and the
allocation of the I/O bitmap is staved off until a task calls the
ioperm() system call. In order for this to work the I/O bitmap itself
would need to be stored at the end of the task structure so that it
can be variable in size, but I don't know if this is possible (is
it?). Then the default size for a task can include a basically empty
I/O bitmap, and the ioperm() system call can reallocate the
task_struct to include the larger I/O bitmap as necesary.

Also if we do it that way, we can simply have the ioperm() system
call allocate a full 8Kb I/O bitmap for all tasks that request
specific I/O permissions, and those tasks are going to be few and far
between (DOSEMU stuff mostly, since the X server will doing an

Any comments on this? All the stuff is already in place in the
current development kernels, so all I need to figure out is how to
place the I/O bitmap at the end of the task structure and reallocate
the memory for the task structure to include the enlarges I/O bitmap.

Or perhaps I am missing something really obvious here?


| SciTech Software - Building Truly Plug'n'Play Software! |
| Kendall Bennett | Email: |
| Director of Engineering | Phone: (530) 894 8400 |
| SciTech Software, Inc. | Fax : (530) 894 9069 |
| 505 Wall Street | ftp : |
| Chico, CA 95928, USA | www : |

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:43    [W:0.053 / U:52.924 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site