qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Qemu is a wonderful (and presentation)
@ 2003-06-26 15:52 Stefano Marinelli
  2003-06-26 17:32 ` Fabrice Bellard
  0 siblings, 1 reply; 6+ messages in thread
From: Stefano Marinelli @ 2003-06-26 15:52 UTC (permalink / raw)
  To: qemu-devel

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)?
I hope so, anyway I will like to work on the project as final thesis.
Ok, thanks for your attention (my email has been soo long) and good work
:)

-- 
-------------------------------------------------
Stefano Marinelli
PGP key: send mail with "send pgp key" as subject
-------------------------------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Qemu is a wonderful (and presentation)
  2003-06-26 15:52 [Qemu-devel] Qemu is a wonderful (and presentation) Stefano Marinelli
@ 2003-06-26 17:32 ` Fabrice Bellard
  2003-06-27  7:54   ` Stefano Marinelli
  2003-06-27  8:02   ` Stefano Marinelli
  0 siblings, 2 replies; 6+ messages in thread
From: Fabrice Bellard @ 2003-06-26 17:32 UTC (permalink / raw)
  To: qemu-devel

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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Qemu is a wonderful (and presentation)
  2003-06-26 17:32 ` Fabrice Bellard
@ 2003-06-27  7:54   ` Stefano Marinelli
  2003-06-27 12:13     ` Johan Rydberg
  2003-06-27  8:02   ` Stefano Marinelli
  1 sibling, 1 reply; 6+ messages in thread
From: Stefano Marinelli @ 2003-06-27  7:54 UTC (permalink / raw)
  To: qemu-devel

On Thu, Jun 26, 2003 at 07:32:13PM +0200, Fabrice Bellard wrote:
> 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.

I understand...something strange could happen and we aren't able to find
out what and why...

> 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.

Ok,I see. I think that the kernel patch should be the last resort, since
it would be better to be able to launch an unpatched kernel (it would be
quite difficult to launch closed source operating systems).Currently the
emulation speed is really high...I think that a well implemented
software MMU won't slow down too much (the system would be still well
usable). And, if it will be made by you, I'm sure it will be a good
piece of software :)

> unless many people ask it. Another solution is to integrate QEMU in 
> bochs to reuse all its PC hardware emulation stuff.

This could be a good idea. bochs hardware emulation is well done, the
teacher show's following me with my thesis programmed the tun/tap module
:)
Anyway, do you think that an integration with bochs will be difficult to
do? In this way, bochs could be improved on x86 and PPC. VMWare is
great, while (for now) there isn't anything similar in the Open Source
world (well MacONLinux, but it's only for Mac)

> 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.

I understand. I'd like to try to produce a *BSD image to see what
happens. Anyway, thanks for replying in a so complete way and thanks for
this wonderful software you're doing. I hope I'll have the possibility
to do something for this project :)

-- 
-------------------------------------------------
Stefano Marinelli
-------------------------------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Qemu is a wonderful (and presentation)
  2003-06-26 17:32 ` Fabrice Bellard
  2003-06-27  7:54   ` Stefano Marinelli
@ 2003-06-27  8:02   ` Stefano Marinelli
  1 sibling, 0 replies; 6+ messages in thread
From: Stefano Marinelli @ 2003-06-27  8:02 UTC (permalink / raw)
  To: qemu-devel

Sorry, just read again your mail and found out I've read Guest for Host
on the second point, so I wrote a wrong thing... :)

On Thu, Jun 26, 2003 at 07:32:13PM +0200, Fabrice Bellard wrote:
> 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.

I don't think so: the plex86 project will remain Linux on x86 Linux,
*perhaps* it would be able to launch Linux on *BSD. The qemu idea (of
the dynamic translation) could be slower, but surely more portable and
with a wider range of usings. So I think that even a host patch can be a
good idea.

-- 
-------------------------------------------------
Stefano Marinelli
-------------------------------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Qemu is a wonderful (and presentation)
  2003-06-27  7:54   ` Stefano Marinelli
@ 2003-06-27 12:13     ` Johan Rydberg
  2003-06-27 23:17       ` Stefano Marinelli
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Rydberg @ 2003-06-27 12:13 UTC (permalink / raw)
  To: qemu-devel

Stefano Marinelli <postnet@dragas.dyndns.org> wrote:

: Currently the emulation speed is really high...I think that a well 
: implemented software MMU won't slow down too much (the system would 
: be still well usable). And, if it will be made by you, I'm sure it 
: will be a good piece of software :)

http://mail.nongnu.org/archive/html/qemu-devel/2003-06/msg00086.html

But that little software MMU hack was written by me.

-- 
Johan Rydberg, Free Software Developer, Sweden
http://rtmk.sf.net | http://www.nongnu.org/guss/

Playing Stina Nordenstam - I Dream Of Jeannie

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] Qemu is a wonderful (and presentation)
  2003-06-27 12:13     ` Johan Rydberg
@ 2003-06-27 23:17       ` Stefano Marinelli
  0 siblings, 0 replies; 6+ messages in thread
From: Stefano Marinelli @ 2003-06-27 23:17 UTC (permalink / raw)
  To: qemu-devel

On Fri, Jun 27, 2003 at 02:13:51PM +0200, Johan Rydberg wrote:
> : be still well usable). And, if it will be made by you, I'm sure it 
> : will be a good piece of software :)
> 
> But that little software MMU hack was written by me.

I didn't know it. Anyway, with "you" I meant "all of you writing this
wonderful piece of software".  :)

-- 
-------------------------------------------------
Stefano Marinelli
-------------------------------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-06-27 23:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-26 15:52 [Qemu-devel] Qemu is a wonderful (and presentation) Stefano Marinelli
2003-06-26 17:32 ` Fabrice Bellard
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

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).