• Carsten Otte's avatar
    KVM: Portability: split kvm_vcpu_ioctl · 313a3dc7
    Carsten Otte authored
    This patch splits kvm_vcpu_ioctl into archtecture independent parts, and
    x86 specific parts which go to kvm_arch_vcpu_ioctl in x86.c.
    
    Common ioctls for all architectures are:
    KVM_RUN, KVM_GET/SET_(S-)REGS, KVM_TRANSLATE, KVM_INTERRUPT,
    KVM_DEBUG_GUEST, KVM_SET_SIGNAL_MASK, KVM_GET/SET_FPU
    Note that some PPC chips don't have an FPU, so we might need an #ifdef
    around KVM_GET/SET_FPU one day.
    
    x86 specific ioctls are:
    KVM_GET/SET_LAPIC, KVM_SET_CPUID, KVM_GET/SET_MSRS
    
    An interresting aspect is vcpu_load/vcpu_put. We now have a common
    vcpu_load/put which does the preemption stuff, and an architecture
    specific kvm_arch_vcpu_load/put. In the x86 case, this one calls the
    vmx/svm function defined in kvm_x86_ops.
    Signed-off-by: default avatarCarsten Otte <cotte@de.ibm.com>
    Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Reviewed-by: default avatarChristian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    313a3dc7
kvm.h 22.1 KB