Home
last modified time | relevance | path

Searched refs:pv_ops (Results 1 – 24 of 24) sorted by relevance

/Linux-v5.10/arch/x86/hyperv/
Dhv_spinlock.c76 pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath; in hv_init_spinlocks()
77 pv_ops.lock.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock); in hv_init_spinlocks()
78 pv_ops.lock.wait = hv_qlock_wait; in hv_init_spinlocks()
79 pv_ops.lock.kick = hv_qlock_kick; in hv_init_spinlocks()
80 pv_ops.lock.vcpu_is_preempted = PV_CALLEE_SAVE(hv_vcpu_is_preempted); in hv_init_spinlocks()
Dmmu.c236 pv_ops.mmu.flush_tlb_others = hyperv_flush_tlb_others; in hyperv_setup_mmu_ops()
237 pv_ops.mmu.tlb_remove_table = tlb_remove_table; in hyperv_setup_mmu_ops()
/Linux-v5.10/arch/x86/xen/
Dspinlock.c139 pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath; in xen_init_spinlocks()
140 pv_ops.lock.queued_spin_unlock = in xen_init_spinlocks()
142 pv_ops.lock.wait = xen_qlock_wait; in xen_init_spinlocks()
143 pv_ops.lock.kick = xen_qlock_kick; in xen_init_spinlocks()
144 pv_ops.lock.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen); in xen_init_spinlocks()
Denlighten_pv.c1004 pv_ops.irq.save_fl = __PV_IS_CALLEE_SAVE(xen_save_fl_direct); in xen_setup_vcpu_info_placement()
1005 pv_ops.irq.restore_fl = in xen_setup_vcpu_info_placement()
1007 pv_ops.irq.irq_disable = in xen_setup_vcpu_info_placement()
1009 pv_ops.irq.irq_enable = in xen_setup_vcpu_info_placement()
1011 pv_ops.mmu.read_cr2 = in xen_setup_vcpu_info_placement()
1177 pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry_boot; in xen_setup_gdt()
1178 pv_ops.cpu.load_gdt = xen_load_gdt_boot; in xen_setup_gdt()
1183 pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry; in xen_setup_gdt()
1184 pv_ops.cpu.load_gdt = xen_load_gdt; in xen_setup_gdt()
1209 pv_ops.init.patch = paravirt_patch_default; in xen_start_kernel()
[all …]
Dmmu_pv.c2053 pv_ops.mmu.set_pte = xen_set_pte; in xen_post_allocator_init()
2054 pv_ops.mmu.set_pmd = xen_set_pmd; in xen_post_allocator_init()
2055 pv_ops.mmu.set_pud = xen_set_pud; in xen_post_allocator_init()
2056 pv_ops.mmu.set_p4d = xen_set_p4d; in xen_post_allocator_init()
2060 pv_ops.mmu.alloc_pte = xen_alloc_pte; in xen_post_allocator_init()
2061 pv_ops.mmu.alloc_pmd = xen_alloc_pmd; in xen_post_allocator_init()
2062 pv_ops.mmu.release_pte = xen_release_pte; in xen_post_allocator_init()
2063 pv_ops.mmu.release_pmd = xen_release_pmd; in xen_post_allocator_init()
2064 pv_ops.mmu.alloc_pud = xen_alloc_pud; in xen_post_allocator_init()
2065 pv_ops.mmu.release_pud = xen_release_pud; in xen_post_allocator_init()
[all …]
Dmmu_hvm.c76 pv_ops.mmu.exit_mmap = xen_hvm_exit_mmap; in xen_hvm_init_mmu_ops()
Dirq.c131 pv_ops.irq = xen_irq_ops; in xen_init_irq_ops()
Dtime.c531 pv_ops.time = xen_time_ops; in xen_init_time_ops()
573 pv_ops.time = xen_time_ops; in xen_hvm_init_time_ops()
/Linux-v5.10/Documentation/virt/
Dparavirt_ops.rst9 different hypervisors, this restriction was removed with pv_ops.
10 Linux pv_ops is a virtualization API which enables support for different
15 pv_ops provides a set of function pointers which represent operations
21 pv_ops operations are classified into three categories:
/Linux-v5.10/arch/arm/kernel/
Dparavirt.c17 struct paravirt_patch_template pv_ops; variable
18 EXPORT_SYMBOL_GPL(pv_ops);
/Linux-v5.10/arch/x86/include/asm/
Dparavirt.h42 pv_ops.cpu.io_delay(); in slow_down_io()
44 pv_ops.cpu.io_delay(); in slow_down_io()
45 pv_ops.cpu.io_delay(); in slow_down_io()
46 pv_ops.cpu.io_delay(); in slow_down_io()
545 pv_ops.mmu.set_fixmap(idx, phys, flags); in __set_fixmap()
760 jmp PARA_INDIRECT(pv_ops+PV_CPU_iret);)
766 call PARA_INDIRECT(pv_ops+PV_IRQ_irq_disable); \
773 call PARA_INDIRECT(pv_ops+PV_IRQ_irq_enable); \
796 call PARA_INDIRECT(pv_ops+PV_CPU_swapgs); \
802 jmp PARA_INDIRECT(pv_ops+PV_CPU_usergs_sysret64);)
[all …]
Dparavirt_types.h316 extern struct paravirt_patch_template pv_ops;
323 [paravirt_opptr] "i" (&(pv_ops.op))
476 #define PVOP_TEST_NULL(op) BUG_ON(pv_ops.op == NULL)
478 #define PVOP_TEST_NULL(op) ((void)pv_ops.op)
Dmshyperv.h66 pv_ops.time.sched_clock = sched_clock; in hv_setup_sched_clock()
/Linux-v5.10/arch/arm64/kernel/
Dparavirt.c29 struct paravirt_patch_template pv_ops; variable
30 EXPORT_SYMBOL_GPL(pv_ops);
153 pv_ops.time.steal_clock = pv_steal_clock; in pv_time_init()
/Linux-v5.10/arch/arm/include/asm/
Dparavirt.h18 extern struct paravirt_patch_template pv_ops;
22 return pv_ops.time.steal_clock(cpu); in paravirt_steal_clock()
/Linux-v5.10/arch/x86/kernel/
Dparavirt-spinlocks.c20 return pv_ops.lock.queued_spin_unlock.func == in pv_is_native_spin_unlock()
32 return pv_ops.lock.vcpu_is_preempted.func == in pv_is_native_vcpu_is_preempted()
Dkvm.c295 pv_ops.cpu.io_delay = kvm_io_delay; in paravirt_ops_setup()
653 pv_ops.time.steal_clock = kvm_steal_clock; in kvm_guest_init()
657 pv_ops.mmu.flush_tlb_others = kvm_flush_tlb_others; in kvm_guest_init()
658 pv_ops.mmu.tlb_remove_table = tlb_remove_table; in kvm_guest_init()
927 pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath; in kvm_spinlock_init()
928 pv_ops.lock.queued_spin_unlock = in kvm_spinlock_init()
930 pv_ops.lock.wait = kvm_wait; in kvm_spinlock_init()
931 pv_ops.lock.kick = kvm_kick_cpu; in kvm_spinlock_init()
934 pv_ops.lock.vcpu_is_preempted = in kvm_spinlock_init()
Dparavirt.c124 void *opfunc = *((void **)&pv_ops + type); in paravirt_patch_default()
273 struct paravirt_patch_template pv_ops = { variable
424 EXPORT_SYMBOL(pv_ops);
Dkvmclock.c110 pv_ops.time.sched_clock = kvm_sched_clock_read; in kvm_sched_clock_init()
Dtsc.c257 return pv_ops.time.sched_clock == native_sched_clock; in using_native_sched_clock()
Dalternative.c608 used = pv_ops.init.patch(p->type, insn_buff, (unsigned long)p->instr, p->len); in apply_paravirt()
/Linux-v5.10/arch/arm64/include/asm/
Dparavirt.h18 extern struct paravirt_patch_template pv_ops;
22 return pv_ops.time.steal_clock(cpu); in paravirt_steal_clock()
/Linux-v5.10/arch/x86/kernel/cpu/
Dvmware.c331 pv_ops.cpu.io_delay = paravirt_nop; in vmware_paravirt_ops_setup()
339 pv_ops.time.sched_clock = vmware_sched_clock; in vmware_paravirt_ops_setup()
343 pv_ops.time.steal_clock = vmware_steal_clock; in vmware_paravirt_ops_setup()
/Linux-v5.10/drivers/xen/
Dtime.c178 pv_ops.time.steal_clock = xen_steal_clock; in xen_time_setup_guest()