lkml.org 
[lkml]   [1999]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] fastcall-2.3.32-B6, SYSENTER/SYSEXIT support
rgooch@ras.ucalgary.ca (Richard Gooch)  wrote on 12.12.99 in <199912120704.AAA12363@vindaloo.ras.ucalgary.ca>:

> I propose a much simpler abstraction: set up a global page (which
> always appears at a fixed address in user-space), and set up a jump
> table. Have one jump vector per system call. That's the ABI. End of
> story.

I really like that.

> So I suggest a few possibilities for working around this:
>
> 1) the kernel reserves a page (or pages) which is mapped into each
> process at the same VA, but is written to by user-space. Perhaps a
> syscall/ioctl to write-protect the region once initialised
>
> 2) have a single module which contains all the code data variants and
> writes the appropriate selection to the global page(s)
>
> 3) have a collection of modules, one for each CPU (implementation)
> type, and user-space picks the correct one to load. The module
> initialises the global page.

All of these share a serious problem: they depend on userspace code to
initialize the userspace-kernel interface.

That means you need a _different_ userspace-kernel interface just so these
solutions can be made to work.

This is madness.

Now, you could go around this by having the kernel put default code there
that's exchanged during boot - but it still seems to me it's far better to
just have the kernel do the right thing from the start.

MfG Kai

-
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.tux.org/lkml/

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