[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.