Gleb Natapov writes: > On Thu, Nov 04, 2010 at 11:36:15PM +0100, Lluís wrote: >> Take the unused CPUID 0x40001xxx range as the backdoor instruction. >> > In KVM (and it fits the spec nicely) cpuid is defined in terms of > tables. There is no callback that is called when particular cpuid is > queried, so such backdoor interface will be impossible to implement > in KVM. Furthermore any interface that changes/looks at vcpu state in > userspace is broken for KVM. Look at vmware backdoor interface for > instance. KVM has a hack in emulator code to make it work.
I know. I looked into the KVM implementation and neither CPUID nor VMCALL/VMMCALL (these two are, in fact, obsoleted) are implemented as calls to the hypervisor (although the hardware supports it). The only interfaces exported by KVM to that purpose are through MMIO/PIO, but these are OS-dependant (aka, KVM-dependant). As such, there is currently no generic, OS-independant and low-overhead method for providing a backdoor communication channel from the guest directly into QEMU. As I see this is very tied to my setup, I'll move this patch series down below the tracing series so that it does not interfere with the other patches. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth