On 01/24/2011 08:06 PM, Glauber Costa wrote:
KVM, which stands for KVM Virtual Memory (I wanted to call it KVM Virtual Mojito), is a piece of shared memory that is visible to both the hypervisor and the guest kernel - but not the guest userspace. The basic idea is that the guest can tell the hypervisor about a specific piece of memory, and what it expects to find in there. This is a generic abstraction, that goes to userspace (qemu) if KVM (the hypervisor) can't handle a specific request, thus giving us flexibility in some features in the future. KVM (The hypervisor) can change the contents of this piece of memory at will. This works well with paravirtual information, and hopefully normal guest memory - like last update time for the watchdog, for instance. This patch contains the header part of the userspace communication implementation. Userspace can query the presence/absence of this feature in the normal way. It also tells the hypervisor that it is capable of handling - in whatever way it chooses, registrations that the hypervisor does not know how to. In x86, only user so far, this mechanism is implemented as generic userspace msr exit, that could theorectically be used to implement msr-handling in userspace. I am keeping the headers separate to facilitate backports to people who wants to backport the kernel part but not the hypervisor, or the other way around.
Again the protocol is not specified. How about starting from Documentation/kvm/api.txt so we don't have to guess?
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index ea2dc1a..5cc4fe8 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@ -161,6 +161,7 @@ struct kvm_pit_config { #define KVM_EXIT_NMI 16 #define KVM_EXIT_INTERNAL_ERROR 17 #define KVM_EXIT_OSI 18 +#define KVM_EXIT_X86_MSR_OP 19
/* @@ -541,6 +551,7 @@ struct kvm_ppc_pvinfo { #define KVM_CAP_PPC_GET_PVINFO 57 #define KVM_CAP_PPC_IRQ_LEVEL 58 #define KVM_CAP_ASYNC_PF 59 +#define KVM_CAP_REGISTER_MEM_AREA 60
These two seem completely unrelated. -- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html