WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] How do unmodified guests work with Xen?

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-users] How do unmodified guests work with Xen?
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Wed, 25 Jan 2006 12:36:45 +0000
Cc: Ernst Bachmann <e.bachmann@xxxxxxxx>, Stephan Austermühle <au@xxxxxxx>, pjn@xxxxxxxxxxxx
Delivery-date: Wed, 25 Jan 2006 12:46:52 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200601251109.16432.e.bachmann@xxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <55083.194.39.131.39.1137747392.squirrel@xxxxxxxxxxx> <43D721E3.6010500@xxxxxxx> <200601251109.16432.e.bachmann@xxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.1
> AFAIK it just works like it does in qemu, bochs, vmware, ...
> The guest sees an (S)VGA and network device, accesses to that (virtual)
> device are trapped and passed to an hardware emulator.

Exactly.  In more detail:

The Xen hypervisor itself remains a very small piece of software, and doesn't 
contain device emulation code (except for a few performance-critical pieces 
of platform hardware).

The guest can mostly run directly on the (VT-enabled) CPU.  Various privileged 
CPU operations need to emulated to make this work properly.  Hardware devices 
can essentially be emulated entirely by trapping guest attempts to access IO 
memory regions, or IO ports and feeding these into a "model" of how the 
device will respond to these accesses.  Currently the device models run as a 
daemon process in dom0 (the actual device emulation code is derived from 
QEmu).  Whenever an attempt to do mmio or port io is trapped by Xen, it 
passes the details up to the device model daemon, which feeds these details 
into the device emulation.  The device emulation simulates the current device 
state and (when necessary) maps the memory of the virtual machine and 
transfers data into it.

Using this process, we're able to completely emulate real hardware devices 
(network card, block, video, eventually sound too) for the benefit of 
unmodified guests, which still expect to see these features.

The architecture is expected to change to a higher-performance implementation 
during the evolution of Xen's full virtualisation support.

Does that help everybody?

Cheers,
Mark

-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users