From: Kevin Lawton <kevinlawton2001@yahoo.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Simple patches for Linux as a guest OS in a plex86 VM (please consider)
Date: Fri, 24 Jan 2003 08:52:46 -0800 (PST) [thread overview]
Message-ID: <20030124165246.59003.qmail@web80311.mail.yahoo.com> (raw)
In-Reply-To: <20030124154647.GA20371@elf.ucw.cz>
--- Pavel Machek <pavel@ucw.cz> wrote:
> Can you explain a bit more about plex86? I thought plex86 aims to be
> complete machine emulation, capable of running winNT (for example). I
> don't think M$ will accept such a patch from you...
I gutted the old plex86 code, eliminated all the fancy stuff
and it now does nothing except provide a VM container to
run user-privilege code only. X86 is reasonably VM'able
at user priviliege, but not so at kernel privilege.
Plex86 is a kernel module which runs on the host OS. It
provides a separate set of page tables, segment registers
and other stuff so that there is no interference with the
host structures, nor dependence on them whatsover.
The thrust behind these simple mods is to be able to "push"
Linux kernel code (when running as a guest OS) down to user
level. In this case, it can also be run in what is now
an extremely light-weight VM. To do this, proper maintenance
of the interrupt flag (x86) is necessary, since behaviour of
this flag in the eflags register is different at user-level.
The x86 architecture provides a mechanism for this, called PVI
(protected mode virtual interrupts), although the logic for
this was not carried over to 2 instructions (PUSHF/POPF).
Thus my patches...
Other than that, plex86 "shadows" the guest page tables and
discovers the guest page tables on-demand. So nothing special
needs to be done. Access to system registers trap from user code,
so the VM monitor can handle those properly.
About 99% of the work of a full x86 VM is on handling less
than 1% of the cases. So the new plex86 angle is, forget doing
all the fancy work for 1%. If you're running a VM friendly OS
(like Linux with my small patches), you end up with a potentially high
performance and Open Source VM, with very little work.
As well, plex86 can bolt on to bochs for accelerating user code,
reverting back to bochs for emulation of kernel code - perhaps
good for running non-Linux, and for debugging Linux kernels.
But for the normal case of running Linux VMs, plex86 will be a standalone.
Because the non-essential IO stuff can be configured out of Linux,
and the remaining essential IO can be monitored very lightweight style
in plex86 - even right in the VM monitor for high performance.
-Kevin
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
next prev parent reply other threads:[~2003-01-24 16:43 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-22 18:23 Kevin Lawton
2003-01-22 19:56 ` Andrew Morton
2003-01-22 20:11 ` Kevin Lawton
2003-01-22 20:17 ` Andrew Morton
2003-01-22 20:35 ` Kai Germaschewski
2003-01-23 18:28 ` Ingo Oeser
2003-01-23 22:26 ` Jamie Lokier
2003-01-24 3:21 ` Kevin Lawton
2003-01-24 15:46 ` Pavel Machek
2003-01-24 16:52 ` Kevin Lawton [this message]
2003-01-24 19:01 ` Valdis.Kletnieks
2003-01-24 19:09 ` Kevin Lawton
2003-01-24 20:18 ` Derek Fawcus
2003-01-24 20:56 ` Kevin Lawton
2003-01-24 21:00 ` David Lang
2003-01-24 22:02 ` Kevin Lawton
[not found] <20030122182341.66324.qmail@web80309.mail.yahoo.com.suse.lists.linux.kernel>
2003-01-22 19:16 ` Andi Kleen
2003-01-22 19:30 ` Kevin Lawton
2003-01-23 5:11 ` Kevin Lawton
2003-01-23 5:50 ` Kai Germaschewski
2003-01-23 7:00 ` Kevin Lawton
2003-01-23 7:24 ` Andrew Morton
2003-01-23 15:41 ` Kevin Lawton
2003-01-24 15:49 ` Pavel Machek
2003-01-24 17:14 ` Kevin Lawton
2003-01-24 18:02 ` Lars Marowsky-Bree
2003-01-25 1:46 ` David Wagner
2003-01-25 12:00 ` Jan Hudec
2003-01-27 12:42 ` Pavel Machek
2003-01-26 20:00 ` Pavel Machek
2003-01-26 20:05 ` Lars Marowsky-Bree
2003-01-27 5:42 ` Nuno Silva
2003-01-24 3:32 Kevin Lawton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030124165246.59003.qmail@web80311.mail.yahoo.com \
--to=kevinlawton2001@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®