On 23/10/15 18:16, Mike wrote:
> Hello,
>
> I'm doing some reviewing of XEN source code.  Does x86_emulate() (from
> x86_emulate.c) execute on every guest, or is this whenever a machine
> doesn't have hardware assisted virtualization?

By default, guests do not have instructions emulated.  They run on the
real hardware.

There are situations which occur, (as a side effect of virtualisation),
when it traps into Xen.  e.g. updating pagetables while shadow paging is
in use, a write hitting an MMIO page emulated by Qemu, etc.

In such circumstances, the instruction which faulted must be emulated so
Xen can work out what the guest did, and apply the appropriate action. 
e.g. update the pagetable as requested or forward an io request to qemu.

Especially for the SIMD instructions, x86_emulate() is not capable of
providing a software alternative to an instruction not supported by the
hardware.

~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to