Home
last modified time | relevance | path

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

12

/Linux-v5.4/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.4/arch/x86/xen/
Dspinlock.c130 pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath; in xen_init_spinlocks()
131 pv_ops.lock.queued_spin_unlock = in xen_init_spinlocks()
133 pv_ops.lock.wait = xen_qlock_wait; in xen_init_spinlocks()
134 pv_ops.lock.kick = xen_qlock_kick; in xen_init_spinlocks()
135 pv_ops.lock.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen); in xen_init_spinlocks()
Denlighten_pv.c992 pv_ops.irq.save_fl = __PV_IS_CALLEE_SAVE(xen_save_fl_direct); in xen_setup_vcpu_info_placement()
993 pv_ops.irq.restore_fl = in xen_setup_vcpu_info_placement()
995 pv_ops.irq.irq_disable = in xen_setup_vcpu_info_placement()
997 pv_ops.irq.irq_enable = in xen_setup_vcpu_info_placement()
999 pv_ops.mmu.read_cr2 = in xen_setup_vcpu_info_placement()
1170 pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry_boot; in xen_setup_gdt()
1171 pv_ops.cpu.load_gdt = xen_load_gdt_boot; in xen_setup_gdt()
1176 pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry; in xen_setup_gdt()
1177 pv_ops.cpu.load_gdt = xen_load_gdt; in xen_setup_gdt()
1202 pv_ops.init.patch = paravirt_patch_default; in xen_start_kernel()
[all …]
Dmmu_pv.c2210 pv_ops.mmu.write_cr3 = &xen_write_cr3; in xen_write_cr3_init()
2357 pv_ops.mmu.set_pte = xen_set_pte; in xen_post_allocator_init()
2358 pv_ops.mmu.set_pmd = xen_set_pmd; in xen_post_allocator_init()
2359 pv_ops.mmu.set_pud = xen_set_pud; in xen_post_allocator_init()
2361 pv_ops.mmu.set_p4d = xen_set_p4d; in xen_post_allocator_init()
2366 pv_ops.mmu.alloc_pte = xen_alloc_pte; in xen_post_allocator_init()
2367 pv_ops.mmu.alloc_pmd = xen_alloc_pmd; in xen_post_allocator_init()
2368 pv_ops.mmu.release_pte = xen_release_pte; in xen_post_allocator_init()
2369 pv_ops.mmu.release_pmd = xen_release_pmd; in xen_post_allocator_init()
2371 pv_ops.mmu.alloc_pud = xen_alloc_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.c522 pv_ops.time = xen_time_ops; in xen_init_time_ops()
564 pv_ops.time = xen_time_ops; in xen_hvm_init_time_ops()
/Linux-v5.4/Documentation/ia64/
Dxen.rst2 Recipe for getting/building/running Xen/ia64 with pv_ops
5 and run domU with pv_ops.
133 Getting and Building domU with pv_ops
136 1. get pv_ops tree::
158 3. copy .config for pv_ops of domU::
162 4. make kernel with pv_ops::
169 # cp vmlinux.gz /boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU
171 # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6-pv_ops-xenU.img \
176 Boot DomainU with pv_ops
182 kernel = "/boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU"
[all …]
/Linux-v5.4/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.4/arch/arm/kernel/
Dparavirt.c17 struct paravirt_patch_template pv_ops; variable
18 EXPORT_SYMBOL_GPL(pv_ops);
/Linux-v5.4/arch/arm64/kernel/
Dparavirt.c17 struct paravirt_patch_template pv_ops; variable
18 EXPORT_SYMBOL_GPL(pv_ops);
/Linux-v5.4/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()
429 pv_ops.mmu.ptep_modify_prot_commit(vma, addr, ptep, pte); in ptep_modify_prot_commit()
448 pv_ops.mmu.set_pte_at(mm, addr, ptep, pte); in set_pte_at()
633 pv_ops.mmu.set_fixmap(idx, phys, flags); in __set_fixmap()
863 jmp PARA_INDIRECT(pv_ops+PV_CPU_iret);)
869 call PARA_INDIRECT(pv_ops+PV_IRQ_irq_disable); \
876 call PARA_INDIRECT(pv_ops+PV_IRQ_irq_enable); \
[all …]
Dparavirt_types.h336 extern struct paravirt_patch_template pv_ops;
343 [paravirt_opptr] "i" (&(pv_ops.op))
496 #define PVOP_TEST_NULL(op) BUG_ON(pv_ops.op == NULL)
498 #define PVOP_TEST_NULL(op) ((void)pv_ops.op)
/Linux-v5.4/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.4/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.4/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.c273 pv_ops.cpu.io_delay = kvm_io_delay; in paravirt_ops_setup()
622 pv_ops.time.steal_clock = kvm_steal_clock; in kvm_guest_init()
628 pv_ops.mmu.flush_tlb_others = kvm_flush_tlb_others; in kvm_guest_init()
629 pv_ops.mmu.tlb_remove_table = tlb_remove_table; in kvm_guest_init()
846 pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath; in kvm_spinlock_init()
847 pv_ops.lock.queued_spin_unlock = in kvm_spinlock_init()
849 pv_ops.lock.wait = kvm_wait; in kvm_spinlock_init()
850 pv_ops.lock.kick = kvm_kick_cpu; in kvm_spinlock_init()
853 pv_ops.lock.vcpu_is_preempted = in kvm_spinlock_init()
Dparavirt.c123 void *opfunc = *((void **)&pv_ops + type); in paravirt_patch_default()
296 struct paravirt_patch_template pv_ops = { variable
458 EXPORT_SYMBOL(pv_ops);
Dkvmclock.c110 pv_ops.time.sched_clock = kvm_sched_clock_read; in kvm_sched_clock_init()
Dalternative.c605 used = pv_ops.init.patch(p->type, insn_buff, (unsigned long)p->instr, p->len); in apply_paravirt()
Dtsc.c250 return pv_ops.time.sched_clock == native_sched_clock; in using_native_sched_clock()
/Linux-v5.4/arch/x86/kernel/cpu/
Dvmware.c135 pv_ops.time.sched_clock = vmware_sched_clock; in vmware_sched_clock_setup()
142 pv_ops.cpu.io_delay = paravirt_nop; in vmware_paravirt_ops_setup()
Dmshyperv.c354 pv_ops.time.sched_clock = sched_clock; in hv_setup_sched_clock()
/Linux-v5.4/drivers/xen/
Dtime.c178 pv_ops.time.steal_clock = xen_steal_clock; in xen_time_setup_guest()

12