x86/paravirt: Use a single ops structure
[linux-2.6-block.git] / arch / x86 / kernel / kvm.c
index d9b71924c23c9b939986b2d2ab153ba15b7077c3..ba4bfb7f6a36996a806a634bf3c4a86bd594129f 100644 (file)
@@ -283,7 +283,7 @@ static void __init paravirt_ops_setup(void)
        pv_info.name = "KVM";
 
        if (kvm_para_has_feature(KVM_FEATURE_NOP_IO_DELAY))
-               pv_cpu_ops.io_delay = kvm_io_delay;
+               pv_ops.cpu.io_delay = kvm_io_delay;
 
 #ifdef CONFIG_X86_IO_APIC
        no_timer_check = 1;
@@ -632,14 +632,14 @@ static void __init kvm_guest_init(void)
 
        if (kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) {
                has_steal_clock = 1;
-               pv_time_ops.steal_clock = kvm_steal_clock;
+               pv_ops.time.steal_clock = kvm_steal_clock;
        }
 
        if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) &&
            !kvm_para_has_hint(KVM_HINTS_REALTIME) &&
            kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) {
-               pv_mmu_ops.flush_tlb_others = kvm_flush_tlb_others;
-               pv_mmu_ops.tlb_remove_table = tlb_remove_table;
+               pv_ops.mmu.flush_tlb_others = kvm_flush_tlb_others;
+               pv_ops.mmu.tlb_remove_table = tlb_remove_table;
        }
 
        if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
@@ -850,13 +850,14 @@ void __init kvm_spinlock_init(void)
                return;
 
        __pv_init_lock_hash();
-       pv_lock_ops.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
-       pv_lock_ops.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock);
-       pv_lock_ops.wait = kvm_wait;
-       pv_lock_ops.kick = kvm_kick_cpu;
+       pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
+       pv_ops.lock.queued_spin_unlock =
+               PV_CALLEE_SAVE(__pv_queued_spin_unlock);
+       pv_ops.lock.wait = kvm_wait;
+       pv_ops.lock.kick = kvm_kick_cpu;
 
        if (kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) {
-               pv_lock_ops.vcpu_is_preempted =
+               pv_ops.lock.vcpu_is_preempted =
                        PV_CALLEE_SAVE(__kvm_vcpu_is_preempted);
        }
 }