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?

"A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to licence restrictions"

Presumably something close to the Windows standard driver model was used to make it work for interfacing to the underlying virtualised hardware. Is this support available. Clearly the modified version of XP itself would not be but why not the hardware/driver support if it exists?

Of course I could be entirely off-base here but it never hurts to ask :-)

..pjn
----- Original Message ----- From: "Mark Williamson" <mark.williamson@xxxxxxxxxxxx>
To: <xen-users@xxxxxxxxxxxxxxxxxxx>
Cc: "Ernst Bachmann" <e.bachmann@xxxxxxxx>; "Stephan Austermühle" <au@xxxxxxx>; <pjn@xxxxxxxxxxxx>
Sent: Wednesday, January 25, 2006 8:36 PM
Subject: Re: [Xen-users] How do unmodified guests work with Xen?


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





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