• Anthony Liguori's avatar
    KVM: Refactor hypercall infrastructure (v3) · 7aa81cc0
    Anthony Liguori authored
    This patch refactors the current hypercall infrastructure to better
    support live migration and SMP.  It eliminates the hypercall page by
    trapping the UD exception that would occur if you used the wrong hypercall
    instruction for the underlying architecture and replacing it with the right
    one lazily.
    
    A fall-out of this patch is that the unhandled hypercalls no longer trap to
    userspace.  There is very little reason though to use a hypercall to
    communicate with userspace as PIO or MMIO can be used.  There is no code
    in tree that uses userspace hypercalls.
    
    [avi: fix #ud injection on vmx]
    Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    7aa81cc0
kvm_main.c 77.7 KB