[lkml]   [2009]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[KVM PATCH] xinterface
    (Applies to kvm.git/master:84a3c081)

    For details, please read the patch header.

    Background: The original vbus code was tightly integrated with kvm.ko. Avi
    suggested that we abstract the interfaces such that it could live outside
    of kvm. Part of that discussion turned into what is now irqfd/ioeventfd
    checked into kvm.git. The other part of the discussion (pointer-translation)
    was suggested to be addressed by having the memory-slot info replicated
    across interested modules.

    I was looking into what is required for essentially hooking the
    SET_MEMORY_REGION operations in QEMU yesterday by talking to Anthony and
    Glauber on IRC. We came to the conclusion that we could possibly
    do a minor cleanup on the various callsites of SET_MEMORY_REGION so that
    a wrapper function was used. I could then add a hook at this wrapper
    to essentially get notification events whenever memory-slots change, and
    could forward this info to my module appropriate.

    Anthony made the observation that replicating the slots info is
    not the cleanest design, and I tend to agree with him. Its replicating
    data and is going to be prone to synchronization problems, etc. He
    also mentioned that other modules like virtio-net would want access
    to this same information at some point, so perhaps a general solution was in

    Therefore, I stepped back from that initial approach of replicating slots
    and instead provided a abstract mechanism to utilize the original structures.

    This code has been tested with a prototype of the vbus-v4 code and appears
    to function properly.




    Gregory Haskins (1):
    KVM: introduce "xinterface" API for external interaction with guests

    arch/x86/Kbuild | 4 +
    arch/x86/kvm/Makefile | 4 +
    arch/x86/kvm/x86.c | 1
    include/linux/kvm.h | 2 +
    include/linux/kvm_host.h | 6 ++
    include/linux/kvm_xinterface.h | 58 ++++++++++++++++
    virt/kvm/kvm_main.c | 72 ++++++++++++++++++++
    virt/kvm/xinterface.c | 147 ++++++++++++++++++++++++++++++++++++++++
    8 files changed, 293 insertions(+), 1 deletions(-)
    create mode 100644 include/linux/kvm_xinterface.h
    create mode 100644 virt/kvm/xinterface.c


     \ /
      Last update: 2009-07-16 17:23    [W:0.020 / U:5.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site