qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fabrice Bellard <fabrice.bellard@free.fr>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Qemu is a wonderful (and presentation)
Date: Thu, 26 Jun 2003 19:32:13 +0200	[thread overview]
Message-ID: <3EFB2E1D.8000502@free.fr> (raw)
In-Reply-To: 20030626155242.GA20861@dragas.dyndns.org

Stefano Marinelli wrote:
> Hello everybody, I'm a Computer Sciences student at Bologna's university
> (Italy) and I'm doing a research about Virtual Machines and their
> application. My final thesis will be about it. I've spent the last month
> performing tests with bochs and plex86 (the new one) but I've found out
> that bochs is too slow (even if almost complete) while plex has good
> ideas, but is still in really alpha stage. I've put an eye on qemu and
> found out it could be the best project to work with. I like the fact
> that it can be used to emulate x86 machines on non-x86 environments,
> especially because universities often have machines like PPC and Sparc.
> Anyway, I've performed some tests with the vl and created some new
> initrd images in order to see the state of compatibility. Being a so
> young project, I didn't expect too much, but I'm amazed. It's good, the
> user emulation performs well, the System emulator shows a good project
> idea, so I think it has the possibility to become a good alternative to
> bochs.
> One of the things I matter more is the "guest" portability: looking at
> the documentations, seems that one day it will be possible to run other
> non-Linux operating systems. My task is to prepare a bunch of virtual
> machine, where students (also normal users, but I'm talking about
> University research) will be able to experiment with different operating
> systems, both "secure" and "insecure" ones (like old Windows 98),
> without having to sacrifice a physical machine. Bochs could be a
> solution, but it's soooo slow. The idea beyond the dynamic translation
> is great. 
> I had great expectations with bochs+plex86, but Kevin said that it will
> be the last thing to be done, even because the guest kernel has to be
> modified (and I don't like too much the host kernel driver to be
> installed)
> So the question is: will one day be possible to run other x86
> operating systems (like the *BSD, Windows, BeOS and so on)?

Hi,

There are three problems to run other operating systems:

1) Some weird x86 instructions or behaviors are still lacking (for 
example: full task gate support, call gates, segment limit checks). It 
is easy to add but difficult to debug, especially if you don't have the 
source code of the guest OS.

2) If the guest OS wants access to memory beyond 0xc0000000, the current 
MMU emulation won't work. It can be solved by using a software MMU 
emulation (slower) or by using various tricks with the segment registers 
provided the guest OS does not use the full address range. The software 
MMU will be implemented someday as some people need it to have an exact 
full system emulation. For the rest, it depends on the number of people 
who ask it :-) The optimal solution would require a tricky host kernel 
patch, but in this case it can be more tempting to use plex86.

3) For Windows and MSDOS, a more complete PC hardware emulation is 
needed (in particular full VGA support is needed). It is not difficult 
to do, but as in (1), bugs can be difficult to find. I won't do that 
unless many people ask it. Another solution is to integrate QEMU in 
bochs to reuse all its PC hardware emulation stuff.

Currently, I think launching *BSD would not require many changes (maybe 
it already works - I did not test. If you give me a working image I can 
look at it). I may add IDE emulation soon as it can be quite useful even 
with Linux.

Fabrice.

  reply	other threads:[~2003-06-26 17:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-26 15:52 [Qemu-devel] Qemu is a wonderful (and presentation) Stefano Marinelli
2003-06-26 17:32 ` Fabrice Bellard [this message]
2003-06-27  7:54   ` Stefano Marinelli
2003-06-27 12:13     ` Johan Rydberg
2003-06-27 23:17       ` Stefano Marinelli
2003-06-27  8:02   ` Stefano Marinelli

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=3EFB2E1D.8000502@free.fr \
    --to=fabrice.bellard@free.fr \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).