Rusty Russell wrote: > My ideal is to be able to write a hypervisor without having to handle > any traps, and by simply filling in paravirt_ops on the Linux side. > Don't know if this is achievable, but we'll see... > That's a good goal, and is almost achievable. You don't need instruction simulation traps with a full set of sensitive / privileged paravirt ops. You still need to do some special things for page faults, but at least you shouldn't need to decode the instruction stream - which is a giant pain on x86. This is why I wanted to make debug registers and rdpmc part of the VMI interface, even though they are not performance critical (or even used in Linux, in the case of performance counters). Actually, you may need the decoding anyway, for #GP's from userspace, because segmentation concerns with the TLS library - unless you use a no-seg-neg TLS glibc (and don't have any statically linked TLS binaries). But it is theoretically possible to write a hypervisor that doesn't need to decode the guest instruction stream. Zach