|
|
|
|
|
|
|
|
|
|
xen-users
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
|
|
|
|
|