| /Linux-v5.4/arch/x86/hyperv/ |
| D | hv_spinlock.c | 76 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()
|
| D | mmu.c | 236 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/ |
| D | spinlock.c | 130 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()
|
| D | enlighten_pv.c | 992 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 …]
|
| D | mmu_pv.c | 2210 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 …]
|
| D | mmu_hvm.c | 76 pv_ops.mmu.exit_mmap = xen_hvm_exit_mmap; in xen_hvm_init_mmu_ops()
|
| D | irq.c | 131 pv_ops.irq = xen_irq_ops; in xen_init_irq_ops()
|
| D | time.c | 522 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/ |
| D | xen.rst | 2 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/ |
| D | paravirt_ops.rst | 9 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/ |
| D | paravirt.c | 17 struct paravirt_patch_template pv_ops; variable 18 EXPORT_SYMBOL_GPL(pv_ops);
|
| /Linux-v5.4/arch/arm64/kernel/ |
| D | paravirt.c | 17 struct paravirt_patch_template pv_ops; variable 18 EXPORT_SYMBOL_GPL(pv_ops);
|
| /Linux-v5.4/arch/x86/include/asm/ |
| D | paravirt.h | 42 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 …]
|
| D | paravirt_types.h | 336 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/ |
| D | paravirt.h | 18 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/ |
| D | paravirt.h | 18 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/ |
| D | paravirt-spinlocks.c | 20 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()
|
| D | kvm.c | 273 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()
|
| D | paravirt.c | 123 void *opfunc = *((void **)&pv_ops + type); in paravirt_patch_default() 296 struct paravirt_patch_template pv_ops = { variable 458 EXPORT_SYMBOL(pv_ops);
|
| D | kvmclock.c | 110 pv_ops.time.sched_clock = kvm_sched_clock_read; in kvm_sched_clock_init()
|
| D | alternative.c | 605 used = pv_ops.init.patch(p->type, insn_buff, (unsigned long)p->instr, p->len); in apply_paravirt()
|
| D | tsc.c | 250 return pv_ops.time.sched_clock == native_sched_clock; in using_native_sched_clock()
|
| /Linux-v5.4/arch/x86/kernel/cpu/ |
| D | vmware.c | 135 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()
|
| D | mshyperv.c | 354 pv_ops.time.sched_clock = sched_clock; in hv_setup_sched_clock()
|
| /Linux-v5.4/drivers/xen/ |
| D | time.c | 178 pv_ops.time.steal_clock = xen_steal_clock; in xen_time_setup_guest()
|