Glauber Costa wrote:
We can possibly do it a little bit better by emulating in the guest directly.
So the deal would be emulation both in the host and the guest. If the
guest have it,
fine. Otherwise, we use host emulation, that is slower, but works.

If the guest is modifiable, this is easy. Include both syscall and sysenter paths in the vsyscall page, with a jmp to select between them. If we trap a #UD pointing at a syscall or sysenter, emulate it, and patch the jmp instruction to point at the other path. This way we have a self-adjusting syscall/sysenter entry point. We also need to tell kvm not to emulate the instruction, so that the #UD actually reaches the kernel.

If the guest is not modifiable, this means patching. This is much harder than tpr patching since we don't have any space to hide our code in. Maybe we can reverse engineer the vsyscall page and hack it, but this may take a lot of work.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to