lkml.org 
[lkml]   [2011]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 03/16] KVM-HDR: KVM Userspace registering ioctl
    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



    \
     
     \ /
      Last update: 2011-01-26 12:15    [W:0.021 / U:60.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site